1.單向認證,就是傳輸的數據加密過了,但是不會校驗客戶端的來源
2.雙向認證,如果客戶端瀏覽器沒有導入客戶端證書,是訪問不了web系統的,找不到地址
如果只是加密,單向就行
如果想要用系統的人沒有證書就訪問不了系統的話,就采用雙向認證
第一步:為服務器生成證書
使用keytool為Tomcat生成證書,假定目標機器的域名是“localhost”,keystore文件存放在 “e:\\tomcat.keystore”,口令為“123456”,使用如下命令生成:
keytool -genkey -alias tomcat -keyalg RSA -keysize 2048 -keystore e:\tomcat.keystore -storepass 123456 -keypass 123456
截圖如下:
?
第二步:由于是單向認證,沒有必要生成客戶端的證書,直接進入目錄:E:\apache-tomcat-6.0.41\conf? 下 配置 server.xml文件
按照下面修改 配置文件。
?
<!-- 原配置文件內容
-->
<!-- <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" />
?
?
<!-- 改后 配置文件內容 -->
< Connector port ="8443" protocol ="HTTP/1.1" SSLEnabled ="true" maxThreads ="150" scheme ="https" secure ="true" clientAuth ="false" sslProtocol ="TLS" keystoreFile ="e:\\tomcat.keystore" keystorePass ="123456" />
<Connector>配置里的一些屬性參數如下表:
屬 性 | 描 述 |
clientAuth | 如果設為true,表示Tomcat要求所有的SSL客戶出示安全證書,對SSL客戶進行身份驗證 |
keystoreFile | 指定keystore文件的存放位置,可以指定絕對路徑,也可以指定相對于<CATALINA_HOME> (Tomcat安裝目錄)環境變量的相對路徑。如果此項沒有設定,默認情況下,Tomcat將從當前操作系統用戶的用戶目錄下讀取名為 “.keystore”的文件。 |
keystorePass | 指定keystore的密碼,如果此項沒有設定,在默認情況下,Tomcat將使用“changeit”作為默認密碼。 |
sslProtocol | 指定套接字(Socket)使用的加密/解密協議,默認值為TLS,用戶不應該修改這個默認值。 |
ciphers | 指定套接字可用的用于加密的密碼清單,多個密碼間以逗號(,)分隔。如果此項沒有設定,在默認情況下,套接字可以使用任意一個可用的密碼。 |
?
?
第三步:驗證
訪問地址 https://localhost:8443/ 看到如下效果,說明驗證成功。
驗證成功后 可以查看證書的詳細信息。
?
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
