我想用tomcat进行2路TLS,
我将tomcat配置为:
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
keystoreFile="${user.home}/keystore/keystoregodaddyclient.jks" keystorePass="test"
truststoreFile="${user.home}/keystore/keystore.jks" truststorePass="test"
truststoreType="JKS" disableUploadTimeout="true"
enableLookups="true" maxHttpHeaderSize="8192"
maxSpareThreads="75" minSpareThreads="25"
clientAuth="true" sslProtocol="TLS" />
我有来自第三方的证书和私钥。
我创建了我的&#34; keystore&#34;并且信任&#34;密钥库&#34;如下
创建密钥库:
(a)创建pks密钥库。
openssl pkcs12 -export -name clientkey -in godady.crt -inkey server.key -out keystore.p12
(b)将其导入密钥库
keytool -importkeystore -destkeystore keystoregodaddyclient.jks -srckeystore keystore.p12 -srcstoretype pkcs12 -alias clientkey
(c)我已将受信任的密钥库创建为:
keytool -import -v -trustcacerts -alias clientkey -file godady.crt -keystore keystore.jks
但我的请求被服务器拒绝并收到错误:
java.net.SocketException: Software caused connection abort: recv failed
想知道密钥库是否正确形成,因为同样适用于自签名证书。
答案 0 :(得分:1)
确保密钥库中的私钥,密钥库本身具有相同的密码!
再次设置现有密码进行测试。如果这样做,您的私钥和密钥库具有相同的密码
keytool -keypasswd -new mystorepass -keystore keystore.ks -storepass mystorepass -alias cybereyepk -keypass mystorepass