代码之家  ›  专栏  ›  技术社区  ›  Vishwa

如何在tomcat上进行双向身份验证?

  •  1
  • Vishwa  · 技术社区  · 10 年前

    如何使用OpenSSL自签名证书在tomcat上进行双向SSL认证-需要使用EC DSA生成证书。

    非常感谢您的建议。提前感谢

    1 回复  |  直到 10 年前
        1
  •  1
  •   Vishwa    10 年前

    经过几天的搜索,我能够找到解决方案。 下面的步骤解释了在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" />