Tomcathttps自制證書和瀏覽器配置

狗尾巴呢發表於2013-10-10

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伺服器,此時就不會再提示“證書信任”問題了


相關文章