1. 程式人生 > >spring boot,https,雙向ssl認證

spring boot,https,雙向ssl認證

一、生成伺服器端證書

1、在cmd視窗執行命令:keytool -genkey -v -alias server -keyalg RSA -storetype PKCS12  -keystore  c:\keystore\server.keystore,

  密碼隨意,自己記住就行。

二、生成客戶端證書

1、在cmd視窗執行命令:keytool -genkey -v -alias test -keyalg RSA -storetype PKCS12 -keystore c:\keystore\test.p12,

  密碼隨意,自己記住就行。

三、匯出客戶端證書

1、匯出客戶端證書公鑰cer檔案。

  在cmd視窗執行命令,輸入之前自己設定的密碼:

  keytool -export -alias test -keystore c:\keystore\test.p12 -storetype PKCS12  -rfc -file c:\keystore\test.cer

 

2、將客戶端公鑰匯入伺服器證書。

  在cmd視窗執行命令,輸入之前自己設定的密碼:

  keytool -import -v -file c:\keystore\test.cer -keystore c:\keystore\server.keystore

四、安裝客戶端證書

 雙擊c:\keystore目錄下的test.p12檔案,點選下一步:

 

 再次點選下一步:

輸入生成證書時設定的密碼,點選下一步:

將證書檔案儲存為個人,點選下一步:

點選完成:

四、新增springboot支援

1、將伺服器證書檔案server.keystore放到專案的根目錄下

2、編輯application.yml檔案

3、啟動專案,看到https則成功了。

五、測試

1、新增一個java的過濾器,加上一行程式碼,打好斷點:

 

 2、用谷歌瀏覽器,訪問一個過濾器攔截的介面,顯示選擇證書的選項,則表示個人ssl證書安裝成功了:

3、在過濾器的斷點中檢視是否已經獲取到了客戶端證書,如果能看到以下資訊,則表示成功了:

 

 至此基於springboot的ssl雙向認證已經完成了。