配置https雙向認證,以及用soapui除錯

2021-09-01 07:30:09 字數 2257 閱讀 7895

一、環境資訊

服務端啟動jboss-4.2.3,ip是10.78.125.111。啟動以後在本地呼叫,本地的ip是10.78.125.222

二、單向認證

單向認證比較簡單,用以下命令:

keytool -genkey -alias 111 -keyalg rsa -keystore 111.keystore -validity 3650

名字和姓氏要填網域名稱或者ip名:10.78.125.111。其他可以隨便填

這步操作以後,得到111.keystore

將111.keystore放到jboss以下目錄:%jboss_home%\server\default\conf\下,然後配置%jboss_home%\server\default\deploy\jboss-web.deployer\server.xml檔案

這樣單向認證就配置好了,它不要求驗證客戶端資訊,也就是所有客戶端都可以訪問到

如果是用瀏覽器訪問的話,會提示「此**的安全證書有問題,是否繼續訪問」。因為這個證書是用最簡單的辦法自己做的,沒有經過權威ca的簽署,所以一般瀏覽器是不承認其安全性的

如果是用**訪問的話,則還需要額外的步驟

首先用以下命令:

keytool -export -alias 111 -file 111.cer -keystore 111.keystore

得到乙個111.cer,然後把111.cer給到客戶端,客戶端用以下命令:

keytool -import -alias 111 -file 111.cer -keystore server.keystore

得到server.keystore,把這個檔案作為客戶端**的truststore,才能正常訪問到。可以理解為因為是用**來訪問服務端,沒有使用者手工確認的過程,所以需要把證書加進來進行確認

三、雙向認證

雙向認證就比較複雜,因為需要客戶端的校驗,也就是說不是隨便什麼客戶端都能訪問到的

那本地想要呼叫到服務端,就也需要做證書,同樣先用這個命令:

keytool -genkey -alias 222 -keyalg rsa -keystore 222.keystore -validity 3650

得到222.keystore

然後:keytool -export -alias 222 -file 222.cer -keystore 222.keystore

得到222.cer,把222.cer發給服務端,服務端用以下命令:

keytool -import -alias 222 -file 222.cer -keystore client.keystore

得到了client.keystore,這裡面就包含了10.78.125.222的證書資訊,可以用以下命令檢視:

keytool -list -v -keystore client.keystore

然後將client.keystore放到%jboss_home%\server\default\conf\下,再配置%jboss_home%\server\default\deploy\jboss-web.deployer\server.xml檔案

這樣就配置好雙向認證的服務端了

在客戶端用**呼叫服務端的話,就要把server.keystore作為truststore,把222.keystore作為keystore,如果是用cxf的話,配置檔案大概是這樣:

.*_export_.*

.*_export1024_.*

.*_with_des_.*

.*_with_null_.*

.*_dh_anon_.*

如果是用soupui或者瀏覽器來訪問,在下面說

四、用soapui來呼叫

用soapui來呼叫的話,如果是單向認證,則不需要額外的操作,可以直接呼叫。如果是雙向認證,需要匯入本地證書,也就是222.keystore

選擇file-->preferences-->ssl settings,匯入222.keystore,輸入密碼即可

五、用瀏覽器來訪問

如果是單向認證,不需要匯入證書也可以訪問,只是會提示「此**的安全證書有問題,是否繼續訪問」。

如果是雙向認證,需要匯入證書才能訪問,否則會提示「ssl節點無法核實您的證書,錯誤碼: ssl_error_bad_cert_alert」。

不過剛才做的cer證書好像是無法匯入的,不知道為什麼

nginx 配置https雙向認證

參考部落格 製作ca私鑰 openssl genrsa out ca.key 2048 製作ca公鑰 根證書 openssl req new x509 days 3650 key ca.key out ca.crt 伺服器端證書 製作伺服器私鑰 openssl genrsa out server.p...

Nginx配置https雙向認證

1.前期的準備工作 安裝openssl和nginx的https模組 cd mkdir ssl cd ssl mkdir democa cd democa mkdir newcerts mkdir private touch index.txt echo 01 serial 2.製作ca證書 這個是信...

HTTPS 中雙向認證

這裡總結為詳細的步驟 瀏覽器傳送乙個連線請求給安全伺服器。伺服器將自己的證書,以及同證書相關的資訊傳送給客戶瀏覽器。客戶瀏覽器檢查伺服器送過來的證書是否是由自己信賴的 ca 中心所簽發的。如果是,就繼續執行協議 如果不是,客戶瀏覽器就給客戶乙個警告訊息 警告客戶這個證書不是可 以信賴的,詢問客戶是否...