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
相关文章
相关标签/搜索