4.2 CA證書生成這里,我們使用OpenSSL生成自己CA證書,,然后使用它來簽發(fā)Server端和Client端的證書,,該CA證書充當了第三方權威CA的角色。
Step1,,創(chuàng)建文件夾$OpenSSL_Home\bin\ca,,打開CMD將工作目錄指向$OpenSSL_Home\bin。輸入如下命令創(chuàng)建私鑰: D:\Server\OpenSSL-Win32\bin>openssl genrsa -out ca/ca-key.pem 1024 生成私鑰文件ca-key.pem,。
Step2,,創(chuàng)建Certificate Secure Request證書請求文件, D:\Server\OpenSSL-Win32\bin>openssl req -new -out ca/ca-req.csr -key ca/ca-key.pem 生成CSR文件ca-req.csr,。
Step3,,生成自簽名CA證書。使用私鑰ca-key.pem來簽署CSR文件ca-req.csr,, D:\Server\OpenSSL-Win32\bin>openssl x509 -req -in ca/ca-req.csr -out ca/ca-cert.pem -signkey ca/ca-key.pem -days 3650 生成自簽名CA證書ca-cert.pem,。
Step4,導出CA證書為瀏覽器支持的.p12格式,, D:\Server\OpenSSL-Win32\bin>openssl pkcs12 -export -clcerts -in ca/ca-cert.pem -inkey ca/ca-key.pem -out ca/ca-root.p12 生成.p12格式的CA證書ca-root.p12備用,。
4.3簽發(fā)服務器端證書這里,我們使用新制作的CA證書來簽發(fā)服務器端的證書serverkey,,然后將簽發(fā)后的證書導入服務器端密鑰庫tomcat.jks,。
Step1,創(chuàng)建服務器端證書的CSR文件,, C:\Documents and Settings\dinstone>keytool -certreq -alias serverkey -file server.csr -keystore tomcat.jks -storepass 123456 生成CSR文件server.csr
Step2,,使用CA證書來簽發(fā)server.csr,將server.csr拷貝到$OpenSSL_Home\bin\server目錄下,,執(zhí)行如下命令,, D:\Server\OpenSSL-Win32\bin>openssl x509 -req -in server/server.csr -out server/ server-cert.pem -CA ca/ca-cert.pem -CAkey ca/ca-key.pem -CAserial ca/ca-cert.srl -CAcreateserial -days 3650 Loading 'screen' into random state - done Signature ok subject=/C=CN/ST=beijing/L=beijing/O=software/OU=bluesky/CN=192.168.8.221 Getting CA Private Key
生成CA簽發(fā)的證書server-cert.pem
Step3,將CA證書ca-cert.pem導入服務器端密鑰庫tomcat.jks。執(zhí)行如下命令,, C:\Documents and Settings\dinstone>keytool -importcert -alias ca -v -file ca-cer t.pem -keystore tomcat.jks -storepass 123456 所有者:CN=CA Root, O=Certification Authentication Center, L=haidian, ST=Beijing, C=CN 簽發(fā)人:CN=CA Root, O=Certification Authentication Center, L=haidian, ST=Beijing, C=CN 序列號:f8c56c50b55fa6f5 有效期: Tue Jun 22 17:32:53 CST 2010 至Fri Jun 19 17:32:53 CST 2020 證書指紋: MD5:5A:E6:50:CE:C5:63:CA:DD:0E:01:99:9F:1B:A7:23:0F SHA1:E4:68:4F:F7:FE:B5:58:30:16:DD:49:32:CD:B2:AC:21:BA:6D:32:33 簽名算法名稱:SHA1withRSA 版本: 1 信任這個認證,? [否]: y 認證已添加至keystore中 [正在存儲 tomcat.jks]
Step4,將CA簽發(fā)的服務器端證書server-cert.pem導入服務器端密鑰庫tomcat.jks,。執(zhí)行如下命令,, C:\Documents and Settings\dinstone>keytool -importcert -alias serverkey -v -file server-cert.pem -keystore tomcat.jks -storepass 123456 認證回復已安裝在 keystore中 [正在存儲 tomcat.jks]
Step5,查看服務器端證書,。如果能看到如下信息,,則表示導入成功。 C:\Documents and Settings\dinstone>keytool -list -v -keystore tomcat.jks -storep ass 123456
Keystore 類型: JKS Keystore 提供者: SUN
您的 keystore 包含 2 輸入
別名名稱: ca 創(chuàng)建日期: 2010-6-23 輸入類型: trustedCertEntry
所有者:CN=CA Root, O=Certification Authentication Center, L=haidian, ST=Beijing, C=CN 簽發(fā)人:CN=CA Root, O=Certification Authentication Center, L=haidian, ST=Beijing, C=CN 序列號:f8c56c50b55fa6f5 有效期: Tue Jun 22 17:32:53 CST 2010 至Fri Jun 19 17:32:53 CST 2020 證書指紋: MD5:5A:E6:50:CE:C5:63:CA:DD:0E:01:99:9F:1B:A7:23:0F SHA1:E4:68:4F:F7:FE:B5:58:30:16:DD:49:32:CD:B2:AC:21:BA:6D:32:33 簽名算法名稱:SHA1withRSA 版本: 1
******************************************* *******************************************
別名名稱: serverkey 創(chuàng)建日期: 2010-6-23 項類型: PrivateKeyEntry 認證鏈長度: 2 認證 [1]: 所有者:CN=192.168.8.221, OU=bluesky, O=software, L=beijing, ST=beijing, C=CN 簽發(fā)人:CN=CA Root, O=Certification Authentication Center, L=haidian, ST=Beijing, C=CN 序列號:f0b21ac36d7ce6ac 有效期: Wed Jun 23 09:32:01 CST 2010 至Sat Jun 20 09:32:01 CST 2020 證書指紋: MD5:E4:F2:48:39:7E:15:F9:64:F6:2C:BA:E1:6A:AF:AF:E1 SHA1:E4:78:0A:84:C2:84:42:A0:52:1E:39:99:35:9F:F1:7F:62:A6:9A:DE 簽名算法名稱:SHA1withRSA 版本: 1 認證 [2]: 所有者:CN=CA Root, O=Certification Authentication Center, L=haidian, ST=Beijing, C=CN 簽發(fā)人:CN=CA Root, O=Certification Authentication Center, L=haidian, ST=Beijing, C=CN 序列號:f8c56c50b55fa6f5 有效期: Tue Jun 22 17:32:53 CST 2010 至Fri Jun 19 17:32:53 CST 2020 證書指紋: MD5:5A:E6:50:CE:C5:63:CA:DD:0E:01:99:9F:1B:A7:23:0F SHA1:E4:68:4F:F7:FE:B5:58:30:16:DD:49:32:CD:B2:AC:21:BA:6D:32:33 簽名算法名稱:SHA1withRSA 版本: 1
******************************************* *******************************************
4.4 測試服務器端認證Step1,將生成的.p12格式的CA證書ca-root.p12導入瀏覽器的受信任的根證書頒發(fā)機構。 CA根證書導入
Step2,測試Https,,啟動Tomcat。訪問https://localhost:8443/,,提示有不安全的證書如下: 安全警報 證書信息 我們看到該證書由可信任的安全機構簽發(fā),,問題1解決,。而訪問https://192.168.8.221:8443/,直接看到Tomcat的歡迎頁面而不會有安全警報,,同時在狀態(tài)欄右側可以看到瀏覽器已經(jīng)與服務器建立安全連接,,信息如下: SSL連接
|
|
來自: CevenCheng > 《Tomcat》