如何在命令行上指定密钥库类型?



在 java.security 文件中,可以指定 keystore.type 值。但是,这看起来会更改所有 JVM 实例的默认密钥库类型。我只想为一个实例更改它。

目前,它设置为"jks",但我需要它是"jceks"。我尝试了-Djava.security.keystore.type=jceks但这似乎没有达到我想要的效果。

正确的方法是什么?

-Dname=value设置系统属性;java.security中的设置是安全属性而不是系统属性,不能直接在命令行上设置。您可以创建一个补充(或替换(文件,并使用 sysprop-Djava.security.properties=name_of_file_containing_keystore_setting指定该文件,只要您(或其他任何人(没有更改java.securitysecurity.overridePropertiesFile=true的默认设置。类似: 如何在不更改源代码的情况下禁用 TLSv1?

.请注意,如果您只需要更改JSSE默认用于SSL/TLS/HTTPS/等的信任库和/或密钥库的类型,则这些信任库和/或密钥库确实使用syspropsjavax.net.ssl.{trust,key}StoreType(以及{trust,key}Store{,Password}(。

此外,您可能还需要注意,Java9 up 将安装时的默认值更改为 PKCS12,它比 JKS 更安全、更可移植/可互操作。

相关内容

  • 没有找到相关文章

最新更新