我已将内部证书颁发机构导入
Java的CA密钥库. (使用keytool导入到“cacerts”存储中)这样可以正常工作,直到我更新Java RPM.此时,所有导入的证书都不会转移到新安装中.因此,在尝试建立SSL连接时应用程序会爆炸.
有没有办法让这些证书通过Java升级持续存在?或者在升级触发器上重新运行导入命令的简单方法?我显然可以将这些命令编写到我的升级过程中,但我希望有一个更优雅的解决方案.
作为参考,这是RHEL 5.10等效(技术上是Oracle Linux).我通过官方存储库使用java-1.7.0-openjdk,刚刚升级到U65.
将特定于
站点或特定于主机的密钥库/信任库保留在java安装目录之外可能会有所帮助,而是在需要使用信任时指向它.假设您的信任存储位于/opt/site/cacerts.JKS,您可以使用以下两种
方法之一:
在Java代码中,添加如下行:
System.setProperty( “javax.net.ssl.trustStore中”,“/选择/网站/ cacerts.JKS”);
在运行时,向启动脚本添加定义:
java -D’javax.net.ssl.trustStore’=“/ opt / site / cacerts.JKS”/opt/site/myClass.class