这里以demo的形式演示如何创建一个HTTPS应用
一、创建一个webapp,将其web.xml添加配置如下
<security-constraint>
<web-resource-collection>
<web-resource-name>SSL</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
二、生成自签名的keystrore文件
keytool -genkey -v -alias ryan -dname "CN=John,OU=MNG,O=Corp,L=Hangzhou,ST=Zhejiang,C=CN" -keyalg RSA -keysize 2048 -keypass 123456 -keystore e:\ryan-v.keystore -storepass 123456 -validity 900
三、配置tomcat里的server.xml
<Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" keystoreFile="E:\ryan-v2.keystore" keystorePass="123456" />
四、部署服务,并用浏览器访问
五、第四步完成后,点击"继续浏览些网站"就可以浏览网页了,但是这样比较不友好,为了不让这个页面弹出,我们需要把自签名的证书从导入到浏览器的受信任的根证书库,可以有两种方式安装keystore里的证书
1)keytool -export -alias ryan -keystore e:\ryan-v2.keystore -rfc -file server.cer
然后双击安装server.cer,
2)直接在浏览器安装
六、通过第五中的任意一种方式添加证书到受信任的根证书列表后,再访问页面,就不会弹出警告了。