1、建立證書apache
證書用於客戶端與服務端安全認證。咱們可使用JDK自帶的keytool工具來生成證書。真正在產品環境中使用確定要去證書提供商去購買,證書認證通常都是由VeriSign認證,官方地址:http://www.verisign.com/cn/瀏覽器
生成密鑰庫和證書:tomcat
一、生成服務器證書庫安全
keytool -validity 365 -genkey -v -alias server -keyalg RSA -keystore F:\ssl\server.keystore //在F盤中,先建立一個空ssl文件夾
服務器
"-validity 365":設置證書的有效日期工具
二、生成客戶端證書庫:測試
keytool -validity 365 -genkeypair -v -alias client -keyalg RSA -storetype PKCS12 -keystore F:\ssl\client.p12spa
三、從客戶端證書庫中導出客戶端證書3d
keytool -export -v -alias client -keystore F:\ssl\client.p12 -storetype PKCS12 -rfc -file F:\ssl\client.cerserver
四、從服務器證書庫中導出服務器證書
keytool -export -v -alias server -keystore F:\ssl\server.keystore -rfc -file F:\ssl\server.cer
五、生成客戶端信任證書庫(由服務端證書生成的證書庫)
keytool -import -v -alias server -file F:\ssl\server.cer -keystore F:\ssl\client.truststore
六、將客戶端證書導入到服務器證書庫(使得服務器信任客戶端證書)
keytool -import -v -alias client -file F:\ssl\client.cer -keystore F:\ssl\server.keystore
七、查看證書庫中的所有證書
keytool -list -keystore F:\ssl\server.keystore
以上全部輸入密碼都是自定義設置爲:123456。若是不想每次執行命令都輸入命令能夠加上"-storepass 123456"
如:keytool -list -keystore F:\ssl\server.keystore -storepass 123456
2、Tomcat配置:
(1).把server.keystore文件放到tomcat的安裝目錄下的conf目錄,如: D:\Tomcat_7.0.47\conf
(2).修改tomcat目錄下的server.xml文件
添加以下內容:
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" SSLEnabled="true" maxThreads="150" scheme="https" secure="true"
clientAuth="true" sslProtocol="TLS" truststoreType='JKS'
keystoreFile="conf/server.keystore" keystorePass="123456"
truststoreFile="conf/server.keystore" truststorePass="123456"/>
註釋下內容:
<!--
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"/>
-->
3、客戶端瀏覽器證書導入:
這裏須要導入兩個文件,客戶端證書庫client.p12文件和服務端證書server.cer文件
客戶端證書庫client.p12導入:
雙擊client.p12文件按提示嚮導執行
輸入私鑰密碼:
下一步,選擇第一個自動選擇證書存儲選項,下一步,按嚮導完成
服務端證書server.cer文件導入:
4、測試
啓動tomcat。雙擊tomcat/bin文件夾中的startup.bat
在瀏覽器中輸入 https://localhost:8443 出現以下界面,則表示https 8443端口配置成功
備註:通常Tomcat默認的SSL端口號是8443,可是對於SSL標準端口號是443,這樣在訪問網頁的時候,直接使用https而不須要輸入端口號就能夠訪問,如https://ip/