一、生成服務器端證書
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雙向認證已經完成了。