4、Tomcat启用HTTPS协议配置

时间:2023-03-08 21:48:58

一、本地模拟

  1、安装jdk,自行百度安装教程

  2、打开mac终端,输入命令 keytool -genkeypair -alias "证书名字" -keyalg "RSA" -keystore "/Users/证书名字.keystore"

  3、按提示输入信息:

      密钥库口令:***(这个密码非常重要)

      名字与姓氏:192.168.0.110(以后访问的域名或IP地址,非常重要,证书和域名或IP绑定

      组织单位名称:anything(随便填)

      组织名称:anything(随便填)

      城市:anything(随便填)

      省市自治区:anything(随便填)

      国家地区代码:anything(随便填)

  4、修改tomcat配置

      打开 Tomcat 配置文件 conf\server.xml

      取消注释,并添加两个属性 keystoreFilekeystorePass

      例:<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystoreFile="
证书位置" keystorePass="***" />

  5、测试HTTPS

      如果出现错误 ,解决方法是注释conf\server.xml文件中下面一行

二、购买

在证书控制台下载Tomcat版本证书,下载到本地的是一个压缩文件,解压后里面包含.pfx文件是证书文件,pfx_password.txt是证书文件的密码。

友情提示: 每次下载都会产生新密码,该密码仅匹配本次下载的证书。如果需要更新证书文件,同时也要更新密码。

申请证书时如果没有选择系统创建CSR,则没有该文件,请选择其它服务器下载.crt文件,利用openssl命令自己生成pfx证书。

1、PFX证书安装

  以Tomcat7标准配置为例,假如证书文件名是a.pfx。

  找到安装Tomcat目录下该文件server.xml,一般默认路径都是在 conf 文件夹中。找到 <Connection port=”8443”标签,增加如下属性:

  

keystoreFile="cert/200613478180598.pfx"
keystoreType="PKCS12"
##此处的证书密码,请参考附件中的密码文件或在第1步中设置的密码
keystorePass="证书密码"

  完整的配置如下,其中port属性根据实际情况修改:

  

<Connector port=""
  protocol="HTTP/1.1"
  SSLEnabled="true"
  scheme="https"
  secure="true"
  keystoreFile="cert/a.pfx"
  keystoreType="PKCS12"
  keystorePass="证书密码"
  clientAuth="false"
  SSLProtocol="TLSv1+TLSv1.1+TLSv1.2"
  ciphers="TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA256"/>

2.JKS证书安装

    ( 1 ) 使用java jdk将PFX格式证书转换为JKS格式证书(windows环境注意在%JAVA_HOME%/jdk/bin目录下执行)

    

   keytool -importkeystore -srckeystore a.pfx -destkeystore a.jks -srcstoretype PKCS12 -deststoretype JKS

    回车后输入JKS证书密码和PFX证书密码,强烈推荐将JKS密码与PFX证书密码相同,否则可能会导致Tomcat启动失败。

    ( 2 ) 找到安装 Tomcat 目录下该文件Server.xml,一般默认路径都是在 conf 文件夹中。找到 <Connection port=”8443”标签,增加如下属性:

     
keystoreFile="cert/a.jks"
keystorePass="证书密码"
    完整的配置如下,其中port属性根据实际情况修改:
  
<Connector port=""
protocol="HTTP/1.1"
SSLEnabled="true"
scheme="https"
secure="true"
keystoreFile="cert/a.jks"
keystorePass="证书密码"
clientAuth="false"
SSLProtocol="TLSv1+TLSv1.1+TLSv1.2"
ciphers="TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA256"/>
  1. ( 注意:不要直接拷贝所有配置,只需添加 keystoreFile,keystorePass等参数即可,其它参数请根据自己的实际情况修改 )

最后,重启 Tomcat。