首頁 > 軟體

Tomcat伺服器設定https認證(使用keytool生成證書)

2022-07-27 22:07:25

一、證書生成

1 、生成伺服器證書

(1)開啟開啟命令控制檯,進入jdk的bin目錄

(2)keytool為Tomcat生成證書(“-validity 36500”證書有效期,36500表示100年,預設值是90天)

keytool -genkey -v -alias tomcat -keyalg RSA -keystore C:MyFilework_toolsapache-tomcat-8.5.55apache-tomcat-8.5.55tomcat.keystore -validity 36500

注意:名字與姓氏,unknown:填的東西可能和tomcat啟動時存取的域名有關係,

2 、生成使用者端證書

keytool -genkey -v -alias mykey -keyalg RSA -storetype PKCS12 -keystore C:MyFilework_toolsapache-tomcat-8.5.55apache-tomcat-8.5.55mykey.p12

3 、 讓伺服器信任使用者端證書

(1)由於不能直接將PKCS12格式的證書庫匯入,必須先把使用者端證書匯出為一個單獨的CER檔案,使用如下命令:

keytool -export -alias mykey -keystore C:MyFilework_toolsapache-tomcat-8.5.55apache-tomcat-8.5.55mykey.p12 -storetype PKCS12 -storepass 111111 -rfc -file C:MyFilework_toolsapache-tomcat-8.5.55apache-tomcat-8.5.55mykey.cer

(2)將該檔案匯入到伺服器的證書庫,新增為一個信任證書使用命令如下:

keytool -import -v -file C:MyFilework_toolsapache-tomcat-8.5.55apache-tomcat-8.5.55mykey.cer –keystore C:MyFilework_toolsapache-tomcat-8.5.55apache-tomcat-8.5.55tomcat.keystore

(3)通過 list 命令檢視伺服器的證書庫,可以看到兩個證書,一個是伺服器證書,一個是受信任的使用者端證書:

keytool -list -keystore C:MyFilework_toolsapache-tomcat-8.5.55apache-tomcat-8.5.55tomcat.keystore 

4 、讓使用者端信任伺服器證書

把伺服器證書匯出為一個單獨的CER檔案提供給使用者端,使用如下命令:

keytool -keystore C:MyFilework_toolsapache-tomcat-8.5.55apache-tomcat-8.5.55tomcat.keystore -export -alias tomcat -file C:MyFilework_toolsapache-tomcat-8.5.55apache-tomcat-8.5.55tomcat.cer

5 、 經過上面操作,生成如下證書:

其中 tomcat.cer 提供給使用者端,tomcat.keystore供伺服器使用

二、證書使用

1 、 伺服器tomcat的設定

(1)開啟Tomcat根目錄下的/conf/server.xml,找到Connector port="8443"設定段,修改為如下:

註釋掉

(2)測試伺服器端,IE瀏覽器輸入存取地址

但由於是自簽名的證書,所以瀏覽器會警告我們不安全,選擇繼續:

可以看到能成功存取了(位址列“證書錯誤”,此時資料已經是使用HTTPS傳輸了)

2 、 匯入伺服器公鑰證書(tomcat.cer)

由於是自簽名的證書,為避免每次都提示不安全。這裡雙擊tomcat.cer安裝伺服器證書。

注意:將證書填入到“受信任的根證書頒發機構”

再次重新存取伺服器,會發現沒有不安全的提示了,同時瀏覽器位址列上也有個“鎖”圖示。

至此,就完成了設定。

:由於jdk自帶的keytool生成的簽名屬於弱簽名演演算法(SHA-1),但是,SHA-1已經過時因而不再推薦使用。新證書使用了更強的簽名演演算法(比如SHA-256)。SHA-1的證書將從2017開始不再被主流瀏覽器廠商視為安全的。

最後: 通過cmd,將簽名檔案從**【***.keystore】檔案轉換成【***.p12】的檔案,再轉換成【*.jks】:

先將路勁切換至jre下的bin資料夾下,再通過命令查詢,命令如下:

keytool -importkeystore -srckeystore 【絕對路徑+*.keystore】 -srcstoretype JKS -deststoretype PKCS12 -destkeystore 【*.p12】

keytool -v -importkeystore -srckeystore 【絕對路徑+*.p12】 -srcstoretype PKCS12 -destkeystore 【絕對路徑+*.jks】 -deststoretype JKS

p12 證書提取pem證書和私鑰

openssl pkcs12 -in server.p12 -clcerts -nokeys -password pass:111111 -out server.crt
openssl pkcs12 -in server.p12  -nocerts -password pass:111111 -passout pass:111111 -out server.key
penssl pkcs12 -in server.p12 -nocerts -password pass:111111 -passout pass:111111 -out server.key

 到此這篇關於Tomcat伺服器設定https認證(使用keytool生成證書)的文章就介紹到這了,更多相關Tomcat設定https認證內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com