2015-10-17 22 views
0

我有託管在Tomcat 8.0.26版本上的Axis2 API。我將Axis2應用程序從http://localhost1:8080/axis2/重新路由到https://localhost:8443/axis2/。爲了測試目的,我使用了自簽名證書並且安全鏈接正常工作。但我需要使用Veri簽名證書。正當我用Veri簽名更改證書時,鏈接停止工作。 這裏是我的server.xmlHTTPS不能與Tomcat 8中的Veri簽名證書一起使用,但可與自簽名證書一起使用

<Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol" 
SSLEnabled="true" maxThreads="150" scheme="https" secure="true" 
clientAuth="false" sslProtocol="TLS" 
keystoreFile="chap8.keystore" 
keystorePass="rmi+ssl" /> 

我通過這個命令生成此證書:

keytool -genkey -keystore chap8.keystore -storepass rmi+ssl -keypass rmi+ssl -keyalg RSA -alias chapter8 -validity 3650 -dname "cn=http://brm.abc.net example,ou=admin book,dc=jboss,dc=org" 

我得到了2個文件的VERI簽名證書.CRT和.KEY。我使用以下命令將它導入.jks格式:

keytool -import -alias primary -keystore sslkey -trustcacerts -file brm.abc.com.crt -storepass ssl123 

我是Tomcat的新手,所以不確定如何解決此問題! 在此先感謝!

+0

謝謝大家!我得到了另一個帖子 - http://stackoverflow.com/questions/906402/importing-an-existing-x509-certificate-and-private-key-in-java-keystore-to-use-i它解決了我的問題。問題在於Veri-sign和.crt的轉換不正確。 – Gagan

回答

0

找到答案!謝謝大家!

請參考後:importing an existing x509 certificate and private key in Java keystore to use in ssl

步驟一:將X509證書和密鑰的PKCS12文件

openssl pkcs12 -export -in server.crt -inkey server.key \ 
      -out server.p12 -name [some-alias] \ 
      -CAfile ca.crt -caname root 

注:請確保您的P12文件把密碼 - 否則你」當你嘗試導入它時會得到一個空引用異常。 (如果其他人有這種頭痛)。 (謝謝jocull!)

注2:您可能需要添加-chainoption以保留完整的證書鏈。 (感謝Mafuba)

第二步:PKCS12文件轉換爲一個Java密鑰庫

keytool -importkeystore \ 
    -deststorepass [changeit] -destkeypass [changeit] -destkeystore server.keystore \ 
    -srckeystore server.p12 -srcstoretype PKCS12 -srcstorepass some-password \ 
    -alias [some-alias] 

成品