Java配置SSL雙向認證

2021-08-28 05:31:19 字數 1190 閱讀 5899

首先,需求是編寫後台介面,供移動端呼叫,並實現雙向認證。由於沒有頁面,無需花錢申請證書。用自己生成的證書進行自認證。

證書不是非要在執行的伺服器上生成,隨便一台機器都可以,建立證書有多種方式,例如openssl和jdk自帶的keytool。這裡使用keytool。

keytool:

一、生成伺服器端金鑰庫

keytool -genkey -v -alias server -keyalg rsa -validity 36500 -storetype pkcs12 -keystore server.p12
在輸入金鑰庫口令之後,需要輸入名字與姓氏,這個有很強的誤導性,一定要輸入伺服器的網域名稱。經過個人實驗,瀏覽器不會根據上面建立時輸入的-alias欄位來尋找證書,而是根據這個名字與姓氏。也許只是偏見,個人見解。

假如我要在本機測試,輸入的名字與姓氏就是localhost或者127.0.0.1

二、生成客戶端金鑰庫

keytool -genkey -v -alias client -keyalg rsa -validity 36500 -storetype pkcs12 -keystore client.p12
三、生成客戶端證書

keytool -export -alias client -keystore client.p12 -storetype pkcs12 -storepass ceshi123 -rfc -file client.cer
四、將客戶端證書加入服務端金鑰庫

keytool -import -v -file client.cer -keystore server.p12
五、生成服務端證書

keytool -keystore server.p12 -export -alias server -file server.cer
至此證書生成完畢,接下來在伺服器中新增配置啟用ssl。

tomcat:

在tomcat的conf目錄下的server.xml中找到以下欄位並解開注釋。

如果啟用雙向認證需要將clientauth設定為ture,並新增truststorefile與truststorepass。

springboot:

後期補充。

tomcat配置ssl雙向認證

接上篇tomcat ssl單向認證 url 本文在單向認證的基礎上完成雙向認證配置。1 使用以下命令生成客戶端證書,並將此證書安裝到客戶端 此證書請安裝到個人目錄下 keytool genkey v alias client1 keyalg rsa storetype pkcs12 keysize ...

ssl雙向認證

ssl雙向認證 ca.key 根證書的私鑰 ca.crt 根證書的簽名證書 server.key,server.crt client.key,client.crt 1 openssl ca.key,ca.crt 2 openssl server.key server.csrserver.crt 3 ...

Tomcat雙向SSL認證的配置

在tomcat 6中配置ssl雙向認證是相當容易的,本文將介紹如何使用jdk的keytool來為tomcat配置雙向ssl認證。系統需求 jdk 5.0 tomcat 6.0.16 第一步 為伺服器生成證書 使用keytool為tomcat生成證書,假定目標機器的網域名稱是 localhost ke...