国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 服務器 > Web服務器 > 正文

詳解用Tomcat服務器配置https雙向認證過程實戰

2024-09-01 13:51:48
字體:
來源:轉載
供稿:網友

工具:keytool (Windows下路徑:%JAVA_HOME%/bin/keytool.exe)

環境:Windows8.1企業版、Tomcat-7.0.27、JDK1.6、IE11、Chrome

一、為服務器生成證書

C:/Windows/system32>keytool -genkey -v -alias tomcat -keyalg RSA -keystore D:/tomcat.keystore -validity 36500輸入keystore密碼:再次輸入新密碼:您的名字與姓氏是什么? [Unknown]: StoneXing您的組織單位名稱是什么? [Unknown]: iFLYTEK您的組織名稱是什么? [Unknown]: iFLYTEK您所在的城市或區域名稱是什么? [Unknown]: 合肥市您所在的州或省份名稱是什么? [Unknown]: 安徽省該單位的兩字母國家代碼是什么 [Unknown]: CNCN=StoneXing, OU=iFLYTEK, O=iFLYTEK, L=合肥市, ST=安徽省, C=CN 正確嗎? [否]: y正在為以下對象生成 1,024 位 RSA 密鑰對和自簽名證書 (SHA1withRSA)(有效期為 36,500 天):     CN=StoneXing, OU=iFLYTEK, O=iFLYTEK, L=合肥市, ST=安徽省, C=CN輸入<tomcat>的主密碼    (如果和 keystore 密碼相同,按回車):[正在存儲 D:/tomcat.keystore]C:/Windows/system32>

“D:/tomcat.keystore”含義是將證書文件的保存路徑,證書文件名稱是tomcat.keystore(可自定義名稱);

“-validity 36500”含義是證書有效期,36500表示100年,默認值是90天;

二、為客戶端生成證書

1、生成客戶端證書

C:/Windows/system32>keytool -genkey -v -alias mykey -keyalg RSA -storetype PKCS12 -keystore D:/client.key.p12輸入keystore密碼:再次輸入新密碼:您的名字與姓氏是什么? [Unknown]: StoneXing您的組織單位名稱是什么? [Unknown]: iFLYTEK您的組織名稱是什么? [Unknown]: iFLYTEK您所在的城市或區域名稱是什么? [Unknown]: 合肥您所在的州或省份名稱是什么? [Unknown]: 安徽省該單位的兩字母國家代碼是什么 [Unknown]: CNCN=StoneXing, OU=iFLYTEK, O=iFLYTEK, L=合肥, ST=安徽省, C=CN 正確嗎? [否]: y正在為以下對象生成 1,024 位 RSA 密鑰對和自簽名證書 (SHA1withRSA)(有效期為 90 天):     CN=StoneXing, OU=iFLYTEK, O=iFLYTEK, L=合肥, ST=安徽省, C=CN[正在存儲 D:/client.key.p12]C:/Windows/system32>

生成的兩個文件:

tomcat,https雙向認證,tomcat配置雙向認證

2、安裝客戶端證書

雙擊客戶端證書“client.key.p12”完成導入證書過程如下:

tomcat,https雙向認證,tomcat配置雙向認證

tomcat,https雙向認證,tomcat配置雙向認證

tomcat,https雙向認證,tomcat配置雙向認證

tomcat,https雙向認證,tomcat配置雙向認證

tomcat,https雙向認證,tomcat配置雙向認證

tomcat,https雙向認證,tomcat配置雙向認證

tomcat,https雙向認證,tomcat配置雙向認證

三、讓服務器信任客戶端證書

1、將客戶端證書導出為CER文件

由于是雙向SSL認證,服務器必須要信任客戶端證書,因此,必須把客戶端證書添加為服務器的信任認證。因不能直接將PKCS12格式的證書庫導入服務器證書庫,將客戶端證書導出為一個單獨的CER文件

keytool -export -alias mykey -keystore D:/client.key.p12 -storetype PKCS12 -storepass password -rfc -file D:/client.key.cer

注:password為客戶端證書的密碼

C:/Windows/system32>keytool -export -alias mykey -keystore D:/client.key.p12 -storetype PKCS12 -storepass 888888 -rfc -file D:/client.key.cer保存在文件中的認證 <D:/client.key.cer>C:/Windows/system32>

2、將CER文件導入到服務器的證書庫

添加為一個信任證書使用命令如下:

C:/Windows/system32>keytool -import -v -file D:/client.key.cer -keystore D:/tomcat.keystore輸入keystore密碼:所有者:CN=StoneXing, OU=iFLYTEK, O=iFLYTEK, L=合肥, ST=安徽省, C=CN簽發人:CN=StoneXing, OU=iFLYTEK, O=iFLYTEK, L=合肥, ST=安徽省, C=CN序列號:52e07723有效期: Thu Jan 23 09:57:55 CST 2014 至Wed Apr 23 09:57:55 CST 2014證書指紋:     MD5:15:29:58:68:8D:63:E1:00:8E:E6:EC:5E:AD:23:79:38     SHA1:B7:EF:B9:67:BD:56:95:82:3D:D8:14:0D:20:69:F0:C8:60:98:31:9A     簽名算法名稱:SHA1withRSA     版本: 3信任這個認證? [否]: y認證已添加至keystore中[正在存儲 D:/tomcat.keystore]C:/Windows/system32>

3、檢查安裝結果

通過list命令查看服務器的證書庫,可以看到兩個證書,一個是服務器證書,一個是受信任的客戶端證書:

keytool -list -keystore D:/tomcat.keystore (tomcat為你設置服務器端的證書名)。

C:/Windows/system32>keytool -list -keystore D:/tomcat.keystore輸入keystore密碼:Keystore 類型: JKSKeystore 提供者: SUN您的 keystore 包含 2 輸入tomcat, 2014-1-23, PrivateKeyEntry,認證指紋 (MD5): 4B:71:06:02:7C:35:F8:BF:B1:24:E2:68:8F:65:75:15mykey, 2014-1-23, trustedCertEntry,認證指紋 (MD5): 15:29:58:68:8D:63:E1:00:8E:E6:EC:5E:AD:23:79:38C:/Windows/system32>

四、讓客戶端信任服務器證書

1、把服務器證書導出為CER文件

由于是雙向SSL認證,客戶端也要驗證服務器證書,因此,必須把服務器證書添加到瀏覽的“受信任的根證書頒發機構”。由于不能直接將keystore格式的證書庫導入,必須先把服務器證書導出為一個單獨的CER文件,使用如下命令:

keytool -keystore D:/home/tomcat.keystore -export -alias tomcat -file D:/home/tomcat.cer (tomcat為你設置服務器端的證書名)。

C:/Windows/system32>keytool -keystore D:/tomcat.keystore -export -alias tomcat -file D:/tomcat.cer輸入keystore密碼:保存在文件中的認證 <D:/tomcat.cer>C:/Windows/system32>

2、在客戶端安裝服務器證書

雙擊“tomcat.cer”,按照提示安裝證書,將證書填入到“受信任的根證書頒發機構”。

tomcat,https雙向認證,tomcat配置雙向認證

tomcat,https雙向認證,tomcat配置雙向認證

tomcat,https雙向認證,tomcat配置雙向認證

tomcat,https雙向認證,tomcat配置雙向認證

tomcat,https雙向認證,tomcat配置雙向認證

tomcat,https雙向認證,tomcat配置雙向認證

tomcat,https雙向認證,tomcat配置雙向認證

3、檢查安裝結果

IE -> Internet選項 -> 內容 -> 證書

tomcat,https雙向認證,tomcat配置雙向認證

五、配置Tomcat服務器

<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"       maxThreads="150" scheme="https" secure="true"       clientAuth="false" sslProtocol="TLS"       keystoreFile="D://tomcat.keystore" keystorePass="888888"       truststoreFile="D://tomcat.keystore" truststorePass="888888" /> 

注意服務端證書名保持一致

屬性說明:

  1. clientAuth:設置是否雙向驗證,默認為false,設置為true代表雙向驗證
  2. keystoreFile:服務器證書文件路徑
  3. keystorePass:服務器證書密碼
  4. truststoreFile:用來驗證客戶端證書的根證書,此例中就是服務器證書
  5. truststorePass:根證書密碼

六、測試

https://localhost:8443/

tomcat,https雙向認證,tomcat配置雙向認證

tomcat,https雙向認證,tomcat配置雙向認證

服務器的證書與網址不相符問題需要理解瀏覽器做了什么:

1、瀏覽器將自己支持的一套加密規則發送給網站。

2、網站從中選出一組加密算法與HASH算法,并將自己的身份信息以證書的形式發回給瀏覽器。證書里面包含了網站地址,加密公鑰,以及證書的頒發機構等信息。

3、獲得網站證書之后瀏覽器要做以下工作:

      a)  驗證證書的合法性(頒發證書的機構是否合法,證書中包含的網站地址是否與正在訪問的地址一致等),如果證書受信任,則瀏覽器欄里面會顯示一個小鎖頭,否則會給出證書不受信的提示。 

     b)  如果證書受信任,或者是用戶接受了不受信的證書,瀏覽器會生成一串隨機數的密碼,并用證書中提供的公鑰加密。

     c)  使用約定好的HASH計算握手消息,并使用生成的隨機數對消息進行加密,最后將之前生成的所有信息發送給網站。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 长春市| 诏安县| 五河县| 阿勒泰市| 扶余县| 泾阳县| 缙云县| 延安市| 公主岭市| 萨嘎县| 观塘区| 庆城县| 阜新| 锦屏县| 毕节市| 临海市| 沙田区| 德州市| 宁海县| 昌宁县| 寿阳县| 万山特区| 松原市| 海城市| 彭山县| 大理市| 昌图县| 江西省| 宽城| 高平市| 老河口市| 万盛区| 安阳县| 上栗县| 泾川县| 宁波市| 镇雄县| 隆子县| 巴楚县| 龙胜| 贵州省|