单台服务器要访问多个不同的https的时候,怎么办,例如A站点的证书是CertA,密码PasswdA
B站点的证书是CetB,密码为PasswdB,这个时候怎么调用,因为测试发现设置System.setProperty("javax.net.ssl.XXX")
只有在第一次设置有效,之后无论怎么重新设置都会使用第一次的证书,现在问题会导致不同的HTTPS接口访问冲突,请问大神们,有什么解决办法吗?
网上查了下,说是用动态管理证书,不是很会,向大神们,请教!
把这2个证书 import 到 JVM默认的 keystore中 即cacert中
{JAVA_HOME}/jre/lib/security/cacerts. 理论上来说java 虚拟机会默认加载这个cacert的只要运行在这个jvm的应用程序 都会在这个key store 里面寻找可trust的证书,也就不用再代码里显示的声明 加载什么什么证书了。
当然了 如果不放心 可以加上
System.setProperty("javax.net.ssl.trustStore"," C:/Program Files/Java/jdk1.6.0_20/jre/lib/security/cacerts" );
注: 这个 cacert的默认密码是changeit
把这2个证书 import 到 JVM默认的 keystore中 即cacert中
{JAVA_HOME}/jre/lib/security/cacerts. 理论上来说java 虚拟机会默认加载这个cacert的只要运行在这个jvm的应用程序 都会在这个key store 里面寻找可trust的证书,也就不用再代码里显示的声明 加载什么什么证书了。
当然了 如果不放心 可以加上
System.setProperty("javax.net.ssl.trustStore"," C:/Program Files/Java/jdk1.6.0_20/jre/lib/security/cacerts" );
注: 这个 cacert的默认密码是changeit
把这2个证书 import 到 JVM默认的 keystore中 即cacert中{JAVA_HOME}/jre/lib/security/cacerts
. 理论上来说java 虚拟机会默认加载这个cacert的只要运行在这个jvm的应用程序 都会在这个key store 里面寻找可trust的证书,也就不用再代码里显示的声明 加载什么什么证书了。
当然了 如果不放心 可以加上System.setProperty("javax.net.ssl.trustStore"," C:/Program Files/Java/jdk1.6.0_20/jre/lib/security/cacerts" );
注: 这个 cacert的默认密码是changeit
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。