上一篇提到在NGINX中配置了双向SSL的验证, 签名信息及公私钥对都是用OPENSSL生成. 并且用生成的CLIENT端证书放在浏览器上可正常调用,但WEB-SERVICE方式调用却没有试过. 平常WEB-SERVICE的双向SSL都是用KEYTOOL工具生成公私钥信息及签名信息,所以这次同样试一下用KEYTOOL来处理OPENSSL的证书.
很感谢这篇博文:http://wenku.baidu.com/view/a00daa2a3169a4517723a351.html 给我带来的灵感.
接着上一篇http://lvjun106.iteye.com/blog/1892533 , 我用OPENSSL生成了ca根证书的私钥ca.crt和客户端client.crt.
接着我用KEYTOOL工具把这两个私钥都同时导入到信任库中client.keystore
keytool -import -v -trustcacerts -alias ca_root -file ca.crt -storepass 1111 -keystore client.keystore
keytool -import -v -alias ipclient_private_key -file client.crt -keypass 1111 -storepass 1111 -keystore client.keystore
接着,可以查看一下这个keystore 的详细信息keytool -list -v -keystore client.keystore
JAVA客户端调用SSL WEB SERVICE
System.setProperty("javax.net.ssl.keyStore", "F:/workspace/TemporaryProgram/cert/client02.p12"); System.setProperty("javax.net.ssl.keyStorePassword","client02"); System.setProperty("javax.net.ssl.keyStoreType","PKCS12"); System.setProperty("javax.net.ssl.trustStore", "F:/workspace/TemporaryProgram/cert/client.keystore"); System.setProperty("javax.net.ssl.trustStorePassword","client02"); System.setProperty("javax.net.ssl.trustStoreType", "jks"); String endpointURL = "https://192.168.40.129:8443/XXXX/services/supplier?wsdl";// // Web服务端点地址 Service service = new Service(); Call call = (Call) service.createCall(); call.setTargetEndpointAddress(new java.net.URL(endpointURL)); call.setOperationName(new QName("http://test.com", "getSupplierByCode"));// 设置操作的名称。 call.addParameter("systemSecurityCode", XMLType.XSD_STRING, ParameterMode.IN);// 参数的类型 call.addParameter("code", XMLType.XSD_STRING, ParameterMode.IN);// 参数的类型 call.setReturnType(XMLType.XSD_STRING);// 返回的数据类型 Double ret = (Double) call.invoke(new Object[] { "fdsaf","fdsafdas"});// 执行调用 System.out.println("使用HTTP协议来作为Web服务的传输协议!"); System.out.println("已经成功调用。请参看服务端的输出!");
相关推荐
此外,`openssljava.jar`可能是封装了上述调用OpenSSL功能的Java库,这样可以更方便地在Java代码中生成和管理证书,而不需要直接操作系统命令。使用这样的库可以简化代码,降低安全风险,并提供更好的跨平台兼容性。...
最近放开了https服务,安全组扫描出新的漏洞,现对原OpenSSL 1.0.1g版本升级到OpenSSL 1.1.0k,同时重新编译OpenSSH及nginx,在此提供升级脚本,仅供参考
**OpenSSL生成的ssl证书** 在互联网安全领域,SSL(Secure Socket Layer)证书是保障网站数据传输安全的重要工具。OpenSSL是一个开源的库,包含了各种加密算法,它提供了生成SSL证书的功能。本教程将详细介绍如何...
本主题将深入探讨"前端开源库-openssl-self-signed-certificate",并讲解如何使用OpenSSL生成自签名证书。 自签名证书在开发环境中非常常见,因为它们允许开发者在没有权威证书颁发机构(CA)认证的情况下测试HTTPS...
1. 从官方网站下载OpenSSL源代码,例如openssl-1.0.1g版本。 2. 安装Perl解释器,如ActivePerl,确保其正常运行。 3. 解压缩OpenSSL源代码到指定目录。 4. 安装NASM(Netwide Assembler),并将安装路径添加到系统...
在本文中,我们将聚焦于OpenSSL的1.1.1稳定版——"openssl-1.1.1-stable-SNAP-20190915",探讨其特点、改进和实际应用。 OpenSSL 1.1.1版本是该项目的一个重要里程碑,它在安全性、性能和功能上都进行了显著提升。...
标题中的"Win64OpenSSL-3-1-0.exe"是一个特定版本的OpenSSL软件,用于64位Windows操作系统。OpenSSL是一个开源的库,它提供了加密算法、SSL/TLS协议以及常用的证书处理功能。在开发环境中,尤其是涉及到网络通信、...
这时,离线安装包如`openssl-1.0.1e-57.el6.x86_64.rpm` 和 `openssl-devel-1.0.1e-57.el6.x86_64.rpm` 就显得非常有用。这两个RPM(Red Hat Package Manager)包是专门为Red Hat Enterprise Linux 6(RHEL 6)设计...
本文将详细介绍如何使用openssl工具生成单向SSL证书,以及如何将其应用于基于Boost.Asio库的SSL通讯测试。 首先,让我们了解什么是单向SSL认证。在单向SSL认证中,服务器验证其身份给客户端,但客户端无需向服务器...
openEuler 20.03 SP3 安装gp时会提示缺少openssl1.0,可以用此包进行尝试平替
使用OpenSSL工具可以生成SSL证书。具体步骤如下: 1. 生成私钥(Key):使用OpenSSL的genrsa命令,可以生成RSA私钥。例如: ``` openssl genrsa -des3 -out server.key 2048 ``` 这条命令会生成一个2048位的RSA...
openssl10
这里我们关注的是“openssl”和“openssl-devel”这两个关键组件,它们是实现安全套接字层(SSL)和传输层安全(TLS)协议的基础。SSL/TLS协议用于加密网络通信,确保数据在传输过程中不被窃取或篡改。 **openssl**...
总之,"Win64 OpenSSL-Light-1-1-1d.exe"是64位Windows系统上一个轻便且强大的SSL解决方案,对于开发者和用户而言,它提供了安全的网络通信基础,确保了数据的私密性和完整性。理解其功能和使用方法,对于维护网络...
标题中的“Win64OpenSSL-Light-3-1-4安装包”指的是OpenSSL的轻量级版本,适用于64位Windows操作系统的一个版本。OpenSSL是一个强大的安全套接层(SSL)和传输层安全(TLS)协议实现,它包含了各种加密算法、常用的...
在这个案例中,文件名"OpenSSL-for-iPhone-master.zip"表明我们下载的是一个专门为iPhone优化过的OpenSSL分支。 2. **准备编译环境**:确保你已经安装了Xcode和Command Line Tools,这些工具包含了编译所需的gcc或...
win64openssl_light-1-0-2.exe OpenSSL 是一个安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。
本教程将详细介绍如何在CentOS 7上离线安装GCC、PCRE-devel、OpenSSL-devel和Zlib-devel这些重要的开发工具包,这些都是构建和编译Nginx web服务器所必需的依赖。以下是一个详细的步骤指南。 首先,`CentOS7 nginx...
Java基于command调用openssl生成私钥证书 Java是一种广泛使用的编程语言,而openssl是一种加密工具。今天,我们将介绍如何使用Java基于command调用openssl生成私钥证书。 什么是私钥证书? 私钥证书是一种数字...
本文将围绕"openssl-net-0.4.4-win32.rar"这个压缩包中的"managedopenssl.dll",探讨如何在Windows平台上使用OpenSSL .NET接口。 1. **Managed OpenSSL库介绍** Managed OpenSSL是.NET平台上的一个开源项目,它为...