伺服器證書受到了越來越多電商企業的青睞,它不僅可以顯示網站的真實性,還可以在網站用戶輸入密碼與用戶名時對這些信息進行加密,全程保護用戶信息安全放心完成交易。但很多企業在購買了ssl伺服器證書後一頭霧水,不知道如何下手進行安裝。下面就教您如何在Tomcat伺服器上安裝SSL證書。(內容主要來源網路搜集整理)
工具:keytool (Windows下路徑:%JAVA_HOME%/bin/keytool.exe)
環境:Windows 2008 企業版、Tomcat-7.0.27、JDK1.6、IE11、Chrome
一、 搭建CA證書伺服器
v CA(證書頒發機構)
為了保證網路上信息的傳輸安全,除了在通信中採用更強的加密演算法等措施外,必須建立一種信任及信任驗證機制,即通信各方必須有一個可以被驗證的標識,這就需要使用數字證書,證書的主體可以是用戶、計算機、服務等。證書可以用於多方面,例如Web用戶身份驗證、web伺服器身份驗證、安全電子郵件等。安裝證書確保望上傳遞信息的機密性、完整性、以及通信雙方身份的真實性,從而保障網路應用的安全性。
提示:CA分為兩大類,企業CA和獨立CA;
v 企業CA的主要特徵如下
1)企業CA安裝時需要AD(活動目錄服務支持),即計算機在活動目錄中才可以。
2.當安裝企業根時,對於域中的所用計算機,它都將會自動添加到受信任的根證書頒發機構的證書存儲區域;
3.必須是域管理員或對AD有寫許可權的管理員,才能安裝企業根CA;
v 獨立CA主要以下特徵
1.CA安裝時不需要AD(活動目錄服務)。
2 .默認情況下,發送到獨立CA的所有證書申請都被設置為掛起狀態,需要管理員受到頒發。這完全出於安全性的考慮,因為證書申請者的憑證還沒有被獨立CA驗證;
在簡單介紹完CA的分類後,現在開始安裝證書服務;
1. 打開控制面板,選擇「程序」–「打開或關閉Windows功能」,如下圖所示:

2. 左側選擇「角色」,右側選擇「添加角色」,如下圖所示:

3. 左側選擇「伺服器角色」,勾選「Active Directory證書服務」和「Web伺服器(IIS)」,然後點擊「下一步」,如下圖所示:

4. 繼續點擊下一步,如下圖所示:

5. 選擇角色服務,勾選「證書頒發機構」和「證書頒發機構Web註冊」,會彈出「添加角色嚮導」界面, 點擊「添加所需的角色服務」按鈕,然後點擊「下一步」

6. 在「指定安裝類型,「企業」需要域環境,「獨立」不需要域環境選擇,這裡由於沒有域,默認選擇「獨立」,單擊「下一步」,如下圖所示:

7. 在「指定CA類型」窗口選擇「根CA」,單擊「下一步」,如下圖所示:

8. 在「設置私鑰」窗口選擇「新建私鑰」,單擊「下一步」,如下圖所示:

如果使用已有私鑰,請選擇「使用現有私鑰」,通過證書或本機現有私鑰方式創建
9. 在「為CA配置加密」窗口,選擇加密服務提供程序:「RSA#Microsoft Software Key Storage Privoider」,密鑰字元符長度:「2048」,選擇此CA頒發的簽名證書的哈希演算法: SHA1,單擊「下一步」按鈕,如下圖所示:

10. 在「配置CA名稱」頁中,輸入此CA的公用名稱,單擊「下一步」按鈕,如下圖所示:

11. 在「設置有效期」頁中,輸入證書有效期,單擊「下一步」按鈕,如下圖所示:

12. 在「配置證書資料庫」頁中,日誌文件的保存位置,單擊「下一步」按鈕,如下圖所示:

13. 在「Web伺服器簡介」頁中單擊「下一步」按鈕,如下圖所示:

14. 在「選擇角色服務」頁中,使用默認web伺服器添加的角色服務,單擊「下一步」按鈕,如下圖所示:

15. 單擊「安裝」,如下圖所示:

16. 直至安裝完成,點擊「關閉」,完成添加角色,如下圖所示:

17. 安裝結束後,打開瀏覽器,在地址欄中輸入:http://localhost/certsrv/ 打開以下頁面,截止到此windows 2008的證書服務,以及證書頒發服務全部安裝完畢,CA證書伺服器搭建完畢。

二、 向CA證書伺服器申請伺服器證書
在web伺服器上(安裝Tomcat的伺服器)操作系統版本不限制, 安裝Tomcat需要JDK支持,若已安裝請忽略此步驟。JDK1.6默認只支持 SSLv3 和 TLSv1 兩個版本的https協議,JDK 1.7 版本默認禁用SSLv3,並支持 TLSv1、TLSv1.1及TLSv1.2。Tomcat 6及以下版本在使用 JDK 1.6及以下版本的運行環境時,可能存在無法禁用 SSLv3的情況。此時建議您升級 Tomcat 及 JDK版本,或變更使用 APR模塊來配置SSL證書,以確保安全方式安裝及使用伺服器證書(Tomcat 及Java SE Development Kit (JDK) 下載及安裝略)。在「開始」—>「運行」中,輸入cmd打開文本命令窗口,將目錄切換到jdk或者jre中的bin下面(如c:/java/jre/bin),通過java提供的生成證書的工具keytool進行證書申請操作。
1. 生成Web伺服器的證書庫
在命令控制台中輸入命令,生成web伺服器的證書存放庫:
keytool -genkey -alias server -validity 3650 -keyalg RSA -sigalg SHA256withRSA -keysize 2048 -keypass password -storepass password -dname “CN=www.csdn.net, OU=csdn, O=csdn, L=bj, ST=bj, C=CN” -keystore d:keystore.jks
說明:
-genkey參數是建立證書庫
-alias為別名,這裡使用server
-keyalg為指定加密方式,這裡使用常用的RSA加密方式
-sigalg 證書演算法參數,目前以不推薦SHA1withRSA
-keysize 密鑰長度,2048位
-keypass 私鑰密碼
-storepass 密鑰庫密碼
-dname 證書主題信息,其中CN為伺服器域名(www.csdn.net)或IP地址(192.168.1.111),OU為部門信息,O為單位信息,L為地市信息,ST為省,C為國家(通常為「CN」)
-keystore為指定證書庫存放文件
2. 生成向CA證書伺服器申請證書的文件
keytool -certreq -keyalg RSA -sigalg SHA256withRSA -alias server -file d:server.csr -keystore d:keystore.jks -storepass password -ext san=dns:www.csdn.net
說明:
-certreq聲稱申請證書文件
-keyalg 指定加密方式
-alias 證書庫的別名 這裡必須與上一步中建立的正數據名字相同
-file 指定生成的文件文件名稱以及路徑
-keystore 指定證書庫
-ext 證書擴展信息,在此填寫證書備用名稱,可多個域名或IP地址,用逗號隔開
(如:san=dns:www.csdn.net,dns:mp.csdn.net,ip:192.168.1.111,Chrome瀏覽器如不填會提示警告信息)
3. 向CA申請證書
生成申請證書成功,這時候在jdk/bin目錄下存在兩個文件keystore.jks和server.csr,keystore.jks為剛才生成的證書庫文件,server.csr為向CA認證中心申請證書的申請文件,如果向第三方CA認證中心申請證書,直接提交server.csr文件即可,但目前使用我們自己搭建的CA伺服器,而windows提供的註冊證書頒發服務沒有提供提交文件的入口,故此:使用UE或者editPlus等工具打開server.csr文件,將文件中的內容複製出來(僅僅—–BEGIN NEW CERTIFICATE REQUEST—–和—–END NEW CERTIFICATE REQUEST—–之間的內容),然後打開瀏覽器,輸入鏈接地址:http://localhost/certsrv/ 打開CA伺服器的申請界面,點擊「申請證書」–》「高級證書申請」

點擊「使用base64編碼的CMC或PKCS #10文件提交一個證書申請……」

出現以下界面

在「保存的申請」輸入框中粘貼「server.csr」文件中的內容(僅僅—–BEGIN NEW CERTIFICATE REQUEST—–和—–END NEW CERTIFICATE REQUEST—–之間的內容),點擊「提交」。
註:如果CA證書伺服器搭建時使用的是「企業」根時,到此就結束了可以直接下載證書,但因為搭建CA證書伺服器時使用的是「獨立」根,所以這裡需要去證書伺服器手動頒發證書。
切換到CA證書伺服器,打開控制面板,選擇「管理工具」,找到「證書頒發機構」,打開證書管理器,管理證書的頻發,如下圖所示:

點擊左側「掛起的申請」,右鍵右側的申請,在「所有任務」中選擇「頒發」,到此為止證書頒發成功。
然後切換到web伺服器,在瀏覽器中輸入剛才申請證書的鏈接地址去下載證書,注意:這裡將要下載2個證書,一個是CA伺服器的根證書,一個是網站的CA證書

點擊「下載CA證書、證書鏈或CRL」去下載CA伺服器的根證書,點擊「下載CA證書」

下載CA伺服器的「根證書」,另存為ca1.cer
然後回到主頁,點擊「查看掛起的證書申請的狀態」,看一下「保存的申請證書(日期)」日期是否是剛才申請的時間,如果是點擊該鏈接,下載網站(系統)的CA證書

另存為「server.cer」到此,證書申請完畢。
三、 導入伺服器證書
1. 查看keystore文件內容
進入JDK安裝目錄下的bin目錄,運行keytool命令查詢keystore文件信息。
keytool -list -keystore D:keystore.jks -storepass password

查詢到PrivateKeyEntry(或KeyEntry)屬性的私鑰別名(alias)為server。記住該別名,在稍後導入伺服器證書時需要用到(示例中粗體部分為可自定義部分,可根據實際配置情況相應修改)。
注意,導入證書時,一定要使用生成證書請求文件時生成的keystore.jks文件。keystore.jks文件丟失或生成新的keystore.jks文件,都將無法正確導入您的伺服器證書。
2. 導入CA根證書(如果有多張CA證書,則重複執行下面步驟)
keytool -import -alias ca1 -keystore D:keystore.jks -trustcacerts -storepass password -file D:ca1.cer -noprompt

3. 導入伺服器證書(一定要注意,必須先成功導入CA根證書,再導入伺服器證書)
keytool -import -alias server -keystore D:keystore.jks -trustcacerts -storepass password -keypass password -file D:server.cer

導入伺服器證書時,伺服器證書的別名必須和私鑰別名一致。請留意導入CA證書和導入伺服器證書時的提示信息,如果您在導入伺服器證書時使用的別名與私鑰別名不一致,將提示「認證已添加至keystore中」而不是應有的「認證回復已安裝在keystore中」。
證書導入完成,運行keystool命令,再次查看keystore文件內容
keytool -list -keystore D:keystore.jks -storepass password

四、 安裝伺服器證書
1. 配置Tomcat
複製已正確導入認證回復的keystore.jks文件到Tomcat安裝目錄下的conf目錄。打開conf目錄下的server.xml文件,找到並修改以下內容
<!–
<Connector port=”8443″ protocol=”HTTP/1.1″ SSLEnabled=”true”
maxThreads=”150″ scheme=”https” secure=”true”
clientAuth=”false” sslProtocol=”TLS” />
SSL訪問埠
–>
修改為
<Connector port=”443″ protocol=”org.apache.coyote.http11.Http11Protocol” SSLEnabled=”true”
maxThreads=”150″ scheme=”https” secure=”true”
clientAuth=”false” sslProtocol=”TLS”
keystoreFile=”/conf/keystore.jks” keystorePass=”password”
truststoreFile=”/conf/keystore.jks” truststorePass=”password” />
屬性說明:
clientAuth:設置是否雙向驗證,默認為false,設置為true代表雙向驗證
keystoreFile:伺服器證書文件路徑
keystorePass:伺服器證書密碼
truststoreFile:用來驗證客戶端證書的根證書,此例中就是伺服器證書
truststorePass:根證書密碼
默認的SSL訪問埠號為443,如果使用其他埠號,則您需要使用https://yourdomain:port的方式來訪問您的站點。
2. 訪問測試
重啟Tomcat,訪問https://youdomain:port,測試證書的安裝。
五、 伺服器證書的備份及恢復
在您成功的安裝和配置了伺服器證書之後,請務必依據下面的操作流程,備份好您的伺服器證書,以防證書丟失給您帶來不便。
1. 伺服器證書的備份
備份伺服器證書密鑰庫文件keystore.jks文件即可完成伺服器證書的備份操作。
2. 伺服器證書的恢復
請參照伺服器證書安裝部分,將伺服器證書密鑰庫keystore.jks文件恢復到您的伺服器上,並修改配置文件,恢復伺服器證書的應用。
六、 客戶端證書的管理
有的時候,我們需要實現 TOMCAT+SSL 雙向認證,也就是說,首先,客戶端將要認證伺服器的安全性,確保訪問的是正確的伺服器,而非假冒的釣魚網站;其次,伺服器也要認證客戶端的安全性,只有那些擁有伺服器授權證書的客戶端才可以訪問。
客戶端證書的管理建議使用自信CA,使用簡單方便,需要的請到下列地址下載,內含詳細操作說明。
1. 密鑰備份與導入
為了保障CA密鑰一致,需要將Windows 2008下配置的CA機構證書(含密鑰)導出,步驟如下:

選擇私鑰和CA證書,選擇備份路徑,下一步

輸入密碼,下一步

完成備份

最好將備份文件(xx.p12)並導入的ZXCA中,就可以使用ZXCA頒發、管理客戶端證書了。

2. 客戶端證書的安裝
客戶端使用的證書為p12格式的文件證書,使用前需要在客戶電腦進行導入,參考步驟如下:
1、Google Chrome瀏覽器
(1) 進入瀏覽器設置頁面,滑到底部,點擊「高級」顯示高級設置

(2)點擊「證書管理」右邊圖標

(3)選擇「個人」–「導入」,進入證書導入嚮導

(4)點擊下一步

(5)選擇導入的證書文件,注意選擇「個人信息交換…」或「所有文件…」選擇證書即可

(6)輸入密碼(默認111111),其他默認,下一步

(7)默認選項,下一步

(8)點完成,提示導入成功,安裝結束

2. firefox瀏覽器
(1)選擇「菜單」–「選項」,然後「隱私與安全」–「查看證書」–「您的證書」–「導入」

(2)在彈出窗口中選擇證書文件,按提示輸入證書密碼

(3)導入成功,證書列表中顯示導入的證書信息

原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/235151.html