-Dname=value
устанавливает системное свойство; настройки java.security
являются свойствами безопасности, а не системными и не могут быть установлены напрямую в командной строке.Вы можете создать дополнительный (или заменяющий) файл и указать это с помощью sysprop -Djava.security.properties=name_of_file_containing_keystore_setting
, если вы (или кто-либо еще) не изменили настройку по умолчанию security.overridePropertiesFile=true
в java.security
.Аналогично: Как отключить TLSv1 без изменения исходного кода? .
Обратите внимание, что если вам нужно только изменить тип хранилища доверенных сертификатов и / или хранилища ключей, используемого JSSE для SSL/ TLS / HTTPS / etc по умолчанию, те используют sysprops javax.net.ssl.{trust,key}StoreType
(вместе с {trust,key}Store{,Password}
).
Также вы можете знать, что Java9 up изменяетсяустановленное по умолчанию значение PKCS12, которое является одновременно более безопасным и более переносимым / совместимым, чем JKS.