如何使用 OpenSSL 自签名证书在 tomcat 上进行双向 SSL 身份验证 - 需要使用 EC DSA 生成证书。
非常感谢您的建议。在此先感谢
如何使用 OpenSSL 自签名证书在 tomcat 上进行双向 SSL 身份验证 - 需要使用 EC DSA 生成证书。
非常感谢您的建议。在此先感谢
经过多天的搜索,我能够确定解决方案。下面的步骤解释了在 tomcat 上使用 openssl 自签名证书的双向身份验证。
服务器密钥生成: 生成服务器私钥:
`openssl ecparam -name prime256v1 -out serverKey.pem -genkey`
为服务器生成自签名证书,
`openssl req -new -x509 -key serverKey.pem -out serverCert.pem -days 3650`
生成 JKS 格式的密钥库
`openssl pkcs12 -export -out ServerKeystore.pkcs12 -in serverCert.pem -inkey serverKey.pem`
将 serverkeystore.pkcs12 文件转换为 JKS 格式的密钥库
`keytool -importkeystore -alias 1 -srckeystore ServerKeystore.pkcs12 -srcstoretype PKCS12 -destkeystore ServerKeystore.jks -deststoretype JKS`
客户端密钥生成 按照类似的步骤为客户端生成私钥和自签名证书
生成客户端密钥:
`openssl ecparam -out clientKey.pem -name prime256v1 -genkey`
为客户端生成自签名证书:
`openssl req -new -x509 -key clientKey.pem -out clientCert.pem -days 365`
pkcs12 - 到浏览器
`openssl pkcs12 -export -out clientKeystore.pkcs12 -in clientCert.pem -inkey clientKey.pem`
将此 clientkeystore.pkcs12 文件导入 Firefox 浏览器。获取客户端密钥库文件。
keytool -import -alias mockdis -keystore clientTrustore.jks -file clientCert.pem
Tomcat配置:
<Connector port="8443" protocol="HTTP/1.1"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
clientAuth="true" sslProtocol="TLS" keyAlias="1" keystoreFile="D:\OpenSSL-Win32\bin\ServerKeystore.jks"
keystorePass="changeit" truststoreFile="D:\OpenSSL-Win32\bin\clientTrustore.jks"
truststorePass="changeit" />