Java密钥存储参数(javax.net.ssl.keyStore)的用途是什么?如何使用它



为了在JAVA中记录和示例使用密钥存储,我们需要指定密钥存储文件和密码,如下所示;

KeyStore keyStore = KeyStore.getInstance("PKCS12");
keyStore.load(new FileInputStream("/path/cert.p12"), properties.getTrustStorePassword().toCharArray());

还有一个参数可以指定密钥库和密码:

-Djavax.net.ssl.keyStore=/path/cert.p12; -Djavax.net.ssl.keyStorePassword=123456

如果在加载密钥库时必须指定密钥库文件路径和密码,那么该系统参数的意义何在?

如何使用系统参数中指定的密钥库?

我可以在不指定这个系统参数的情况下使用它,那么它的效果是什么?

这个参数的正确用法是什么?

系统属性可以为整个Java进程定义默认值。如果获得默认的SSLContext,则系统属性将用于获取关键材料。通过在代码中创建自己的KeyStore实例并初始化SSLContext的新实例,可以忽略这些设置;例如,如果您必须使用自签名证书连接到服务器,这可能是可取的。

相关内容

最新更新