tomcat構建HTTPS雙向認證

來源:互聯網
上載者:User

標籤:tomcat構建https雙向認證

第一步:為伺服器產生認證

# keytool -genkey -alias tomcat -keyalg RSA -keystore /usr/local/ac/web/tomcat.keystore -validity 36500

 

(參數簡要說明:“/etc/tomcat.keystore”含義是將認證檔案儲存在路徑/usr/local/ac/web/下,認證檔案名稱是tomcat.keystore ;“-validity 36500”含義是認證有效期間,36500表示100年,預設值是90天)

 

 

第二步:為用戶端產生認證

為瀏覽器產生認證,以便讓伺服器來驗證它。為了能將認證順利匯入至IE和Firefox,認證格式應該是PKCS12,因此,使用如下命令產生:

 

keytool -genkey -v -alias mykey -keyalg RSA -storetype PKCS12 -keystore /home/mykey.p12

 

雙擊mykey.p12檔案,即可將認證匯入至瀏覽器(用戶端)。

 

第三步:讓伺服器信任用戶端認證

由於是雙向SSL認證,伺服器必須要信任用戶端認證,因此,必須把用戶端認證添加為伺服器的信任認證。由於不能直接將PKCS12格式的認證庫匯入,必須先把用戶端認證匯出為一個單獨的CER檔案,使用如下命令:

 

keytool -export -alias mykey -keystore /home/mykey.p12 -storetype PKCS12 -storepass password -rfc -file /home/mykey.cer

 

將該檔案匯入到伺服器的認證庫,添加為一個信任認證:

keytool -import -v -file /home/mykey.cer -keystore /home/tomcat.keystore

 

通過list命令查看伺服器的認證庫

keytool -list -keystore  tomcat.keystore

 

第四步:讓用戶端信任伺服器憑證

由於是雙向SSL認證,用戶端也要驗證伺服器憑證,因此,必須把伺服器憑證添加到瀏覽的“可信任的根憑證授權單位”。由於不能直接將keystore格式的認證庫匯入,必須先把伺服器憑證匯出為一個單獨的CER檔案,使用如下命令:

 

keytool -keystore tomcat.keystore -export -alias tomcat -file tomcat.cer

 

雙擊tomcat.cer檔案,按照提示安裝認證,將認證填入到“可信任的根憑證授權單位”。

 

步:配置Tomcat伺服器

 

開啟Tomcat根目錄下的/conf/server.xml,找到如下配置段,修改如下:

 

<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
SSLEnabled="true" maxThreads="150" scheme="https"
secure="true" clientAuth="true" sslProtocol="TLS"
keystoreFile="test.keystore" keystorePass="123456"
truststoreFile="test.keystore" truststorePass="123456" />

 

屬性說明:

· clientAuth:設定是否雙向驗證,預設為false,設定為true代表雙向驗證

· keystoreFile:伺服器憑證檔案路徑

· keystorePass:伺服器憑證密碼

· truststoreFile:用來驗證用戶端認證的根憑證,此例中就是伺服器憑證

· truststorePass:根憑證密碼

 

 

步:測試

 

在瀏覽器中輸入:

https://localhost:8443/,會彈出選擇用戶端認證介面,點擊“確定”,會進入tomcat首頁,地址欄後會有“鎖”表徵圖,表示本次會話已經通過HTTPS雙向驗證,接下來的會話過程中所傳輸的資訊都已經過SSL資訊加密。


操作命令:

#  keytool -genkey -alias tomcat -keyalg RSA -keystore /root/zhengshu/tomcat.keystore -validity 36500


#  keytool -genkey -alias tomcat -keyalg RSA -keystore /root/zhengshu/tomcat.keystore -validity 36500


#  keytool -genkey -v -alias mykey -keyalg RSA -storetype PKCS12 -keystore /root/zhengshu/mykey.p12 -validity 36500


#  keytool -export -alias mykey -keystore /root/zhengshu/mykey.p12 -storetype PKCS12 -storepass password -rfc -file /root/zhengshu/mykey.cer


#  keytool -import -v -file /root/zhengshu/mykey.cer -keystore /root/zhengshu/tomcat.keystore

#  keytool -list -keystore  tomcat.keystore

#  keytool -keystore tomcat.keystore -export -alias tomcat -file tomcat.cer


tomcat構建HTTPS雙向認證

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.