我在Tomcat 8.0.26版本上托管了Axis2 API。我正在将Axis2应用程序从http://localhost1:8080/axis2/重新路由到https://localhost:8443/axis2/。出于测试目的,我使用了自签名证书,安全链接工作正常。但我需要使用Veri-sign证书。就在我用Veri-sign更改证书时,链接停止工作。 这是我的server.xml
<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个文件.crt和.key中获得了Veri-sign证书。我使用以下命令将其导入.jks格式:
keytool -import -alias primary -keystore sslkey -trustcacerts -file brm.abc.com.crt -storepass ssl123
我是Tomcat的新手,所以不确定如何解决这个问题! 提前谢谢!
答案 0 :(得分:0)
找到答案!!谢谢大家!
请参阅帖子:importing an existing x509 certificate and private key in Java keystore to use in ssl
第一步:将x509 Cert和Key转换为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]
成品