Windows 环境 Tomcat 的 HTTPS 单向认证和双向认证的配置
2019獨角獸企業重金招聘Python工程師標準>>>
單向認證,說的是瀏覽器驗證服務器的真實性,雙向認證是服務器也驗證瀏覽器用戶的真實性。 1、使用keytool生成keystore,命令如下:
keytool -genkey -alias fengyunhe -keyalg RSA -keystore fengyunhe.keystore -validity 3650需要注意,填寫的證書信息中名字于姓氏應該填寫你的域名。 2、導出cert證書命令,因為是自簽名的證書,不是CA頒發的所以瀏覽器會有警告,需要人工的安裝證書到受信任的根證書頒發機構:
keytool -exportcert -alias fengyunhe -keystore fengyunhe.keystore -f fengyunhe.cer -v3、打開tomcat的配置文件conf/server.xml,找到Connector對于HTTPS的配置,加入keystoreFile 和keystorePass屬性。
<Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol"maxThreads="150" SSLEnabled="true" scheme="https" secure="true"clientAuth="false" sslProtocol="TLS" keystoreFile="conf/fengyunhe.keystore" keystorePass="123456" />注意端口是8443,所以啟動tomcat后,訪問https://www.fengyunhe.com:8443/就可以發現出現瀏覽器對于沒有認證證書的警告信息。我們安裝cert證書到系統中,人工加入到可信任的根證書頒發機構中,就好了。 ? 如果是雙向的認證,則需要將瀏覽器端生成的證書導入到服務器端的密鑰庫中,也就是keystore文件中。并且在上面的xml配置中,需要開啟對客戶端的驗證。clientAuth需要設置為true,另外增加truststoreFile="conf/test.keystore" 和truststorePass="123456"的密鑰庫到服務端的keysotre文件中。下面是具體的步驟: 1、生成p12密鑰庫
keytool -genkey -alias client -keyalg RSA -storetype PKCS12 -keystore client.key.p12因為是客戶端的證書,所以名字好與姓氏就不需要一定是域名了。 2、將生成的p12證書安裝到瀏覽器中,windows下直接雙擊就可以了,保存的位置使用自己就可以了。會存在“個人”中。 3、從p12密鑰庫導出證書
keytool -export -keystore cleint.key.p12 -storetype PKCS12 -alias client -file client.key.cer4、將證書導入到server端的密鑰庫信任鏈中
keytool -import -file client.key.cer -keystore fengyunhe.keystore5、在tomcat的配置中開啟客戶端的認證,并設置信任庫文件和密碼。 clientAuth需要設置為true,另外增加truststoreFile="conf/test.keystore" 和truststorePass="123456" 重啟tomcat,再次訪問server 的https 地址后就可以看到效果了,在打開瀏覽器訪問server的時候,就會彈出證書確認的窗口。 ?
tips:
本文由wp2Blog導入,原文鏈接:http://devonios.com/windows-tomcat-https.html
轉載于:https://my.oschina.net/yangyan/blog/859384
總結
以上是生活随笔為你收集整理的Windows 环境 Tomcat 的 HTTPS 单向认证和双向认证的配置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SecureCRT使用本地公钥 SSH
- 下一篇: 深入理解ajax系列第五篇——进度事件