Tomcat新增HTTPS單向認證和雙向認證

2022-09-12 11:00:27 字數 2700 閱讀 7152

前言

在tomcat的根目錄下找到/conf/server.xml檔案開啟,找到如下位置

修改為如下內容:

這段配置中keystorefile="c:\install\keystore" keystorepass="server"需要根據自己的證書進行調整,其中keystorefile 可以使用相對路徑

現在單項認證就配置完成了,也就是客戶端對服務端已經認證成功了,但服務端並沒有對客戶端進行認證。

修改/conf/server.xml檔案,上次修改的地方修改如下

新增屬性有truststorefile="c:\install\client.truststore" truststorepass="server"client.truststore裡面放的是信任客戶端的證書

修改屬性有clientauth="true"

修改完成重啟tomcat

先開啟如下畫面ie:internet選項→內容→證書

其他瀏覽器:選項→管理證書

點選匯入,把自己製作的p12證書放入到「個人」目錄下。注意:匯入時要輸入證書密碼

這個時候在重新整理頁面就會看到如下畫面,(由瀏覽器而定)

點選確定以後,就可以訪問成功了.(部分瀏覽器匯入金鑰後可能需要重啟瀏覽器)

https雙向認證也配置完成了。

tip:因為本篇博文主要講配置,沒有講在服務端的信任證書庫新增個人證書的的公鑰,所以下面附上我生成證書的bat檔案。

set server_dn="cn=192.168.***.***, ou=cybersoft.com, o=cybersoft, l=cn, s=cn, c=cn" 

set client_dn="cn=cybersoft.com.tw, ou=cybersoft.com, o=cybersoft, l=cn, s=cn, c=cn"

set pass_set="client"

set spass_set="server"

set cer_root_path="e:\ssl"

:: 路徑不存在則建立路徑

if not exist %cer_root_path% md %cer_root_path%

::製作 keystore

keytool -genkey -alias cyber_server -keyalg rsa -keystore %cer_root_path%/keystore -dname %server_dn% -storepass %spass_set% -keypass %spass_set% -validity 36500

keytool -genkey -alias cyber_client -keyalg rsa -storetype pkcs12 -keystore %cer_root_path%/client.key.p12 -dname %server_dn% -keypass %pass_set% -storepass %pass_set% -validity 36500

keytool -export -alias cyber_server -keystore %cer_root_path%/keystore -storepass %spass_set% -rfc -file %cer_root_path%/server.cer

keytool -export -alias cyber_client -storetype pkcs12 -keystore %cer_root_path%/client.key.p12 -storepass %pass_set% -rfc -file %cer_root_path%/client.cer

keytool -import -file %cer_root_path%/server.cer -storepass %pass_set% -keystore %cer_root_path%/truststore.jks -noprompt

keytool -import -file %cer_root_path%/client.cer -storepass %spass_set% -keystore %cer_root_path%/client.truststore -noprompt

pause

其中192.168.***.***,請修改為自己的網域名稱或ip

執行後生成的檔案在e:\ssl,目錄結構為

其中keystore和client.truststore是在tomcat中配置的,在client.truststore中已經新增了client.key.p12的公鑰,所以上面忘了說了。

client.key.p12需要在客戶端匯入到「個人」目錄中

第一次寫博文,請大家多多指教..下期預告:使用keytool生成證書

Tomcat下啟用https 訪問(單向)

通過jdk自帶的keytool即可建立,命令如下 keytool genkey alias tomcat keyalg rsa依次依照提示輸入即可,執行完成,會在當前使用者目錄下產生乙個.keystore檔案。修改 tomcat home conf server.xml檔案 其中keystorepa...

https單向認證及tomcat配置https方法

在tomcat的bin目錄或jdk的bin目錄下面執行 第一步 為伺服器生成證書 keytool genkey v alias tomcat keyalg rsa validity 3650 keystore e tomcat.keystore dname cn localhost,ou cn,o ...

HTTPS 單向認證

hyper text transfer protocol超文字傳輸協議 明文 傳輸的資料不加密 hyper text transfer protocol over secure socket layer 安全的超文字傳輸協議 ssl secure socket layer安全套接層協議 對稱加密 公...