tomcat生成ssl证书并发布浏览器信任的https服务

本博文参考:https://blog.csdn.net/p793049488/article/details/53422195

1、生成服务器证书:

CMD进入JDK安装目录:cd c:/"Program Files"/java/jdk1.6.0_43/bin。输入命令:

keytool -genkey -v -alias tomcat -keyalg RSA -keystore F:/ssl/tomcat.keystore -validity 365

(参数说明:genkey生成方式,对称或者非对称。alias定义别名。F:/ssl/tomcat.keystore指定生成服务器证书库路径。validity证书有效期,365为一年)

注:以上的keystore密码建议设置成一致,避免混乱。这里设置测试密码为123456。输入密码后,提示输入名字与姓氏,这里输入浏览器访问域名。这里本地测试,故输入localhost。其他项直接回车跳过即可。

2、生成客户端证书:

keytool -genkey -v -alias clientkey -keyalg RSA -storetype PKCS12 -keystore F:/ssl/clientkey.p12

3、这里服务端跟客户端生成完证书,双向需要认证。首先,让服务器信任客户端证书:

由于不能直接将PKCS12格式的证书库导入,所以必须先把客户端证书导出为一个单独的CER文件。

keytool -export -alias clientkey -keystore F:/ssl/clientkey.p12 -storetype PKCS12 -storepass 123456 -rfc -file F:/ssl/clientkey.cer

注:alias的别名clientkey必须与客户端证书别名一致。storepass为上述设置的密码。

4、将客户端证书导入服务器证书库。(服务器信任客户端证书)

keytool -import -v -file f:/ssl/clientkey.cer -keystore f:/ssl/tomcat.keystore

5、客户端信任服务器证书:

keytool -keystore f:/ssl/tomcat.keystore -export -alias tomcat -file f:/ssl/tomcat.cer

导入后,本地安装证书。双击tomcat.cer根据提示安装。

注意,一定要添加到“受信任的根证书颁发机构”。

6、配置tomcat种server.xml种8443端口。观察tomcat中端口配置:

<Connector port="443" protocol="org.apache.coyote.http11.Http11Protocol" SSLEnabled="true"
                maxThreads="150" scheme="https" secure="true"
                clientAuth="false" sslProtocol="TLS" 
      keystoreFile="F:/ssl/tomcat.keystore" keystorePass="123456"
  ciphers="TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_128_ 
CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_256_C 
BC_SHA,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RS 
A_WITH_AES_256_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA"
  />

参数说明:keystoreFile证书路径。keystorePass设置证书密码。ciphers设置这个参数,避免chrome浏览器由于安全机制过滤,提示“

posted on 2018-04-08 10:44  海风1213  阅读(649)  评论(0编辑  收藏  举报

导航