webservice ssl 3 雙向認證【openssl,jax-ws,soapui相關設置開發】

推薦使用openssl,linux基本上都自帶了。windows下的openssl折騰3個小時,放棄了,各類dll不全。java

直接說主題,webservice ssl雙向認證。linux

一.證書相關生成工做web

1.Key Pair Generation[生成私鑰,記得密碼,保存好此文件]
OpenSSL> genrsa -aes256 -out privatekey.pem 2048

2.CSR Generation 【生成CSR 證書請求文件】windows

OpenSSL> req -new -sha256 -key privatekey.pem -out certreq.csrui

此時你獲得2個文件,一個是pem格式的私鑰,這個文件很重要,必需要保存好,記得本身設置的密碼。一個是CSR證書請求文件,後續認證後將發給你一個pem文件。.net

3.獲得對方發送給你的pem 客戶端證書文件debug

4.生成p12格式的文件,用於jax-wscode

OpenSSL>pkcs12 -inkey privatekey.pem -in XXXX.cert.pem -aes256 -export -out cert.p12ssl

5.jax-ws代碼設置以下:
        System.setProperty("javax.net.debug", "ssl,handshake");
        System.setProperty("javax.net.ssl.keyStore", "D:\\NEW-TEST\\LAST\\cert.p12");
        System.setProperty("javax.net.ssl.keyStorePassword", "你的密碼");
        System.setProperty("javax.net.ssl.keyStoreType", "PKCS12");webservice

6.soapui 設置:File--Preferences--SSL Settings--》設置好keystores

勾選:enable ssl for mock services

便可正常訪問。

7.soapui.bat 設置HTTPS僅TLSV1.2

-Dsoapui.https.protocols=TLSv1.2
相關文章
相關標籤/搜索