Tomcat https自制证书和浏览器配置

Tomcat配置成https后,如过使用的是自己的证书,登陆首页时,总是提示证书安全问题,网上的很多资料有描述,但比较复杂,找了几个配置不成功,现在描述一个比较简单的方法。

生成证书的脚本

#!/bin/bash

if [ $# = 1 ] ; then

IP=$1

fi

echo "https trust ip: $IP "

if [ -d gen ]; then

  rm -r -f gen

fi

mkdir -p gen

KEY=gen/demo.keystore

PASSWD=demo

if [ -f $KEY ]; then

rm -f $KEY

fi

#server

keytool -genkey -v -alias demo-keyalg RSA -keypass $PASSWD -keystore $KEY -storepass $PASSWD -validity 3650 -dname "CN=$IP,OU=demo,L=beijing,ST=china,C=cn"

#client

keytool -keystore $KEY -keypass $PASSWD  -storepass $PASSWD -export -alias demo -file gen/demo.cer

如上的demo.keystore是供tomcat使用的证书

demo.cer是供客户端使用的证书

其中的IP,必须是提供服务的web服务地址,否则浏览器登陆时仍会出现证书安全问题

tomcat配置

Conf/server.xml的配置

  <Connector port="443" protocol="HTTP/1.1" SSLEnabled="true"

               maxThreads="150" scheme="https" secure="true"

               clientAuth="false" sslProtocol="TLS"

               keystoreFile="demo.keystore" keystorePass="demo"

       URIEncoding="UTF-8"

/>

注意clientAuth使用仅服务端认证,否则使用双向的认证,更复杂一些,网上有相关资料

浏览器证书导入

demo.cer 导入到浏览器的客户端中,Windows下导入的步骤:

   IE/Chrome: 双击demo.cer ,导入到“受信任的根证书颁发机构”下

   FireFox:工具/选项/高级 下点击“查看证书”,在“证书机构”选项卡中导入demo.cer ,然后选择“IP“的证书项,点击“编辑信任”,选择信任即可

以上设置完成后,使用https://IP 访问web服务器,此时就不会再提示“证书信任”问题了

上一篇:《构建实时机器学习系统》一第3章 数据分析工具 Pandas 3.1 颠覆 R 的 Pandas


下一篇:【Java设计模式系列】工厂方法模式(中)