Tomcat配置https

通过JDK自带的keytool工具能够生成属于自己的证书。

在window环境下:

以管理员的身份运行cmd.exe,切换到Tomcat的安装目录下(如G:Tomcat 8.0),执行命令

keytool -genkey -alias casserver -keypass demosso -keyalg RSA -keystore casserver.keystore -validity 365

执行后可以看到目录下生成了casserver.keystore文件,

-alias 指定别名为casserver;

-keyalg指定RSA算法;

-keypass 指定私钥密码;

-keystore 指定密钥文件名称为casserver.keystore;

-validity 指定证书有效期为365天。

 

继续执行命令:

keytool -export -alias casserver -storepass demosso -file casserver.cer -keystore casserver.keystore

执行后可以看到目录下生成了casserver.cer文件,

-alias 指定别名为casserver;

-storepass 指定私钥为demosso;

-file 指定导出证书的文件名为casserver.cer;

-keystore 指定之前生成的密钥文件的文件名。

 

继续执行命令:

keytool -import -trustcacerts -alias casserver-storepass demosso -file casserver.cer –keystore cacerts

执行后可以看到目录下生成了cacerts文件。

接下来打开Tomcat目录下的conf文件,里面有一个server.xml文件,编辑它,找到被注释的这一段:

<!--
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
               maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
               clientAuth="false" sslProtocol="TLS" />  -->

修改为:

<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
               keystoreFile="/casserver.keystore"
               keystorePass="demosso"
               truststoreFile="/cacerts"
               maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
               clientAuth="false" sslProtocol="TLS" />

重新启动Tomcat,打开https://localhost:8443/

看到:

就代表配置成功了,点击继续浏览此网站:

看到Tomcat的主页。

为什么会提示证书存在问题呢?因为Tomcat使用的证书是我们自己用keytool工具生成的,对于浏览器来说,我们自己生成的证书是不被信任的,在实际生产中,我们要向被信任的组织申请证书,使用那些被信任组织的证书就不会出现这个提示了。

原文地址:https://www.cnblogs.com/13jhzeng/p/5686566.html