使用 JSSE 配置 |
使用 JSSE 方式配置 HTTPS 加密有如下步骤:
Windows:
%JAVA_HOME%\bin\keytool -genkey -alias tomcat -keyalg RSA -keystore D:\key.keystore
Unix:
$JAVA_HOME/bin/keytool -genkey -alias tomcat -keyalg RSA -keystore /home/key.keystore
其中,-keystore 参数指定的是证书的存放位置,可以任意指定。
按照提示输入密码(部署时 Tomcat 默认使用“changeit”作为密码),如“123456”,输入相关信息后确认。
注释掉如下配置,不使用 APR:
<!--APR library loader. Documentation at /docs/apr.html --> <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
找到 SSL HTTP/1.1 Connector 的配置,即:
<!-- Define a SSL HTTP/1.1 Connector on port 8443
This connector uses the JSSE configuration, when using APR, the
connector should be using the OpenSSL style configuration
described in the APR documentation -->
<!--
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
…
-->
去掉注释,修改如下:
<Connector port="8443" protocol="HTTP/1.1"
SSLEnabled="true"
maxThreads="150"
scheme="https"
secure="true"
URIEncoding="utf-8"
clientAuth="false"
keystoreFile="D:\key.keystore"
keystorePass="123456"
sslProtocol="TLS"/>