推荐使用openssl,linux基本上都自带了。windows下的openssl折腾3个小时,放弃了,各种dll不全。
直接说主题,webservice ssl双向认证。
一.证书相关生成工作
1.Key Pair Generation[生成私钥,记得密码,保存好此文件]
OpenSSL> genrsa -aes256 -out privatekey.pem 2048
2.CSR Generation 【生成CSR 证书请求文件】
OpenSSL> req -new -sha256 -key privatekey.pem -out certreq.csr
此时你得到2个文件,一个是pem格式的私钥,这个文件很重要,必须要保存好,记得自己设置的密码。一个是CSR证书请求文件,后续认证后将发给你一个pem文件。
3.得到对方发送给你的pem 客户端证书文件
4.生成p12格式的文件,用于jax-ws
OpenSSL>pkcs12 -inkey privatekey.pem -in XXXX.cert.pem -aes256 -export -out cert.p12
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");
6.soapui 设置:File--Preferences--SSL Settings--》设置好keystores
勾选:enable ssl for mock services
即可正常访问。