webservice ssl 3 双向认证【openssl,jax-ws,soapui相关设置开发】

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

即可正常访问。

时间: 2024-10-29 19:09:43

webservice ssl 3 双向认证【openssl,jax-ws,soapui相关设置开发】的相关文章

SSL/TLS双向认证案例参考

一.首先我们需要生成服务器端和客户端的数字证书并添加信任 实际应用环境里,需要向CA机构申请服务器证书.这里我们为了测试方便通过Keytool工具生成自签名证书来模拟. 注:相关参数说明请使用 keytool -help 查阅 1. 生成服务器端证书 keytool -genkey -v -keyalg RSA -keysize 1024 -sigalg SHA1withRSA -validity 36000 -alias www.alan.org -keystore alan.keystore

java中关于SSL/TSL的介绍和如何实现SSL Socket双向认证

一.        SSL概述 SSL协议采用数字证书及数字签名进行双端实体认证,用非对称加密算法进行密钥协商,用对称加密算法将数据加密后进行传输以保证数据的保密性,并且通过计算数字摘要来验证数据在传输过程中是否被篡改和伪造,从而为敏感数据的传输提供了一种安全保障手段. SSL协议提供的服务主要有: 1)认证用户和服务器,确保数据发送到正确的客户机和服务器 认证用户和服务器的合法性,使它们能够确信数据将被发送到正确的客户机和服务器上.客户机和服务器都有各自的识别号,这些识别号由公开密钥进行编号,

Nginx、Tomcat、SSL、双向认证

1. 证书层级结构 2. 服务器结构 tomcat不要求认证客户端,nginx要求认证客户端 3. tomcat配置注意点 tomcat的服务器证书的CN必须为tomcat_backend 4. nginx配置注意点 使用openssl从pfx文件中导出pem格式公钥 1 openssl pkcs12 -clcerts -nokeys -in cert.p12 -out cert.pem 使用openssl从pfx文件中导出pem格式私钥 1 openssl pkcs12 -nocerts -n

java实现ssl单/双向认证通信[推荐]

有关SSL的原理和介绍在网上已经有不少,对于Java下使用keytool生成证书,配置SSL通信的教程也非常多.但如果我们不能够亲自动手做一个SSL Sever和SSL Client,可能就永远也不能深入地理解Java环境下,SSL的通信是如何实现的.对SSL中的各种概念的认识也可能会仅限于可以使用的程度.本文通过构造一个简单的SSL Server和SSL Client来讲解Java环境下SSL的通信原理. 首先我们先回顾一下常规的Java Socket编程.在Java下写一个Socket服务器

基于openssl的单向和双向认证

1.前言 最近工作涉及到https,需要修改nginx的openssl模块,引入keyless方案.关于keyless可以参考CloudFlare的官方博客: https://blog.cloudflare.com/keyless-ssl-the-nitty-gritty-technical-details/?utm_source=tuicool&utm_medium=referral. 在openssl的基础上修改私钥校验过程,因此需要对openssl的认证认证流程需要熟悉一下.SSL中涉及到

SSL双向认证和SSL单向认证的流程和区别

refs: SSL双向认证和SSL单向认证的区别https://www.jianshu.com/p/fb5fe0165ef2 图解 https 单向认证和双向认证!https://cloud.tencent.com/developer/news/233610 SSL/TLS 双向认证(一) -- SSL/TLS工作原理https://blog.csdn.net/wuliganggang/article/details/78428866 双向认证 SSL 协议要求服务器和用户双方都有证书.单向认证

Tomcat容器https配置之双向认证

在上一篇https单向认证基础上(如果没看过的,请先移步:http://www.cnblogs.com/leafsunday/p/6885568.html),开始https双向认证之旅. 生成客户端keystore(PKCS12格式,便于导入浏览器) C:\Users\Administrator>keytool -genkeypair -alias client -keyalg RSA -keysize 1024 -keypass changeit -keystore d:/client.p12

Nginx、SSL双向认证、PHP、SOAP、Webservice、https

本文是1:1模式,N:1模式请参见新的一篇博客<SSL双向认证(高清版)> ----------------------------------------------------- 我是分割线 --------------------------------------------------------- 标题太长了不知道该怎么起,索性就把keyword列出来吧~ WebService的WS-*搞了一天没搞定,看样子PHP应该是彻底抛弃SOAP协议了,google翻烂了也没找到什么靠谱的解

webservice ssl双向认证配置

1.在tomcat中安装axis2插件 2.生成证书,用jdk自带的keytool 服务端 keytool -genkey -alias Server -dname "CN=192.168.10.100, OU=JH, O=JH, L=HangZhou, S=ZheJiang, C=CN" -keystore server.keystore -keyalg RSA keytool -export -alias Server -file server.cer -storepass 123