推荐使用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