Chr*_*her 7 java ssl tomcat certificate tomcat6
我的Tomcat需要使用SSL(TLS)连接到另一个 Web服务器(https://foreign.example.com).
foreign.example.com有一个自签名证书,我相信.当然,我的Tomcat默认不会 - 所以我必须告诉它.一种方法是:
$JRE/bin/keytool -import -alias my -file ssl-cert-myselfsigned.cer -keystore 
 $JRE/lib/security/cacerts
Run Code Online (Sandbox Code Playgroud)
这有效:我的Tomcat允许SSL连接.
但是,我不喜欢这样做:它将证书导入我的Java安装的可信密钥.我不想说:"我的机器上运行Java的每个应用程序都应该信任该证书".只有Tomcat(或运行Tomcat的用户)才应该信任它.
所以我尝试将它导入到tomcat-user的密钥库中~/.keystore,并<Connector>使用以下属性设置Tomcat :
keystoreFile="${user.home}/.keystore"
keystorePass="thePassphraseICreatedTheKeystoreWith"
Run Code Online (Sandbox Code Playgroud)
但是,这根本不起作用(我相信,这只适用于我的Tomcat的服务器证书,而不适用于外部服务器的服务器证书,对吧?)
我尝试使用truststoreFile/ truststorePassattributes,但它们也没有用.(这些属性记录在http://tomcat.apache.org/tomcat-6.0-doc/config/http.html)
有没有办法使用外部服务器的服务器证书设置Tomcat,或者可能添加一些命令行参数java,使我的密钥库(和密钥库密码)可用于JVM实例?
JBoss(基于Tomcat)可以使用以下cmd参数运行.cacerts文件(或者您想为其命名)必须包含端点的证书.
-Djavax.net.ssl.trustStore = C:\ Applications\jboss-as\server\default\conf\cacerts -Djavax.net.ssl.trustStorePassword = changeit
因此,这也适用于Tomcat.
|   归档时间:  |  
           
  |  
        
|   查看次数:  |  
           11326 次  |  
        
|   最近记录:  |