此处说明利用jdk自带的keytool生成的keystore在tomcat9上配置Https的方法:
1、利用jdk的keytool工具生成keystore文件
具体方法是在命令行敲击以下命令:
keytool -genkey -alias tomcat -keyalg RSA
-keystore \path\to\my\keystore
重点参数说明:-alias tomcat 即组织名称,这里请用tomcat否则将无法配置成功(实测验证过),估计是tomcat的内部对此项参数做了限定,-keyalg RSA 这里的alg即表示algorithm就是算法的意思,这个参数表示我们将用RSA加密算法对此key进行加密, -keystore \path\to\my\keystore 此项参数是我们生成的key的输出目录。
2、配置server.xml文件
找到tomcat安装文件夹位于conf文件夹下的server.xml文件,添加如下配置信息:
<Connector
protocol="org.apache.coyote.http11.Http11NioProtocol"
port="8443" maxThreads="200"
scheme="https" secure="true" SSLEnabled="true"
keystoreFile="${user.home}/.keystore" keystorePass="changeit"
clientAuth="false" sslProtocol="TLS"/>
或者更改被注释掉的<connector>节点信息。
重点参数说明:protocol:是此链接采用的通信协议说明,这里是
org.apache.coyote.http11.Http11NioProtocol 据tomcat官方文档说明此协议对应JSSE(JSSE implementation provided as part of the Java runtime)实现方式,至于有人提到的APR实现方式,据官方文档说明需要下载一些tomcat的native lib(If the installation uses APR- i.e. you have installed the Tomcat native library -),并没有看到有关于说APR方式效率会更高的说明
keystoreFile="${user.home}/.keystore"为第一步生成的kestore文件的路径,注意以.keystore结尾
;
keystorePass="changeit"为第一步生成的keystore文件的密码; 3.验证https配置: 启动tomcat,在浏览器中输入
https://localhost:8443/ 敲击回车后会出现如下信息: 您的连接不安全 localhost 的管理员未正确配置网站。为避免您的信息被窃,Firefox 没有建立与该网站的连接。 详细了解… 报告此类错误以帮助 Mozilla 识别和拦截恶意站点 localhost:8443 使用了无效的安全证书。 该证书因为其自签名而不被信任。 该证书对名称 localhost 无效。 错误代码: SEC_ERROR_UNKNOWN_ISSUER 此时点击添加安全例外->确认安全例外即可看到https://localhost:8443/ 显示出tomcat熟悉的主页,即配置完成