前提: 为了安全考虑,原来使用dotnet发布的web service 使用ssl方式
修改: 需要为服务端dotnet颁发数字证书, iis 将生成的证书导入到证书库,dotnet的服务使用该证书。 为另一端java颁布证书, 调用web service的时候,需要提供可信任的证书。
使用工具: openssl
网上查了资料, 现在整理一下,以供备忘。
操作步骤:
一. 生成CA证书
不使用第三方CA机构, 自己创建密钥充当CA,来给双方签名。
1. 生成创建私钥
openssl genrsa -out ca/ca-key.pem 1024
2. 创建证书请求
openssl req -new -out ca/ca-req.csr -key ca/ca-key.pem -config openssl.cnf
接下来填写申请证书的相关信息
3. 自签署证书
openssl x509 -req -in ca/ca-req.csr -out ca/ca-cert.pem -signkey ca/ca-key.pem -days 3650
4. 将证书导出浏览器支持的.p12格式:
openssl pkcs12 -export -clcerts -in ca/ca-cert.pem -inkey ca/ca-key.pem -out ca/ca.p12
二. 生成server端证书
1. 生成创建私钥
openssl genrsa -out server/server-key.pem 1024
2. 创建证书请求
openssl req -new -out server/server-req.csr -key server/server-key.pem -config openssl.cnf
接下来填写申请证书的相关信息
3. 自签署证书
openssl x509 -req -in server/server-req.csr -out server/server-cert.pem -signkey server/server-key.pem -CA ca/ca-cert.pem -CAkey ca/ca-key.pem -CAcreateserial -days 3650
4. 将证书导出浏览器支持的.p12格式:
openssl pkcs12 -export -clcerts -in server/server-cert.pem -inkey server/server-key.pem -out server/server.p12
三. 生成客户端证书
操作步骤和server端类似
四. 生成JKS证书
keytool -keystore xxx/truststore.jks -keypass 123456 -storepass 123456 -alias test -import -trustcacert -file ca/ca-cert.pem
五. 颁发证书
1. 服务器端(dotnet): 双击server.p12文件导入到iis密钥库,然后再iis里将web service使用这个证书.
2. 客户端(java): 将jks证书复制到项目下, 然后在调用服务的时候, 添加System.setProperty("javax.net.ssl.trustStore", "truststore.jks");
分享到:
相关推荐
本文将详细介绍如何使用 OpenSSL 创建和管理CA证书、服务器证书和客户端证书,以实现SSL单向认证和双向认证。 首先,我们来看一下如何生成 CA(证书颁发机构)证书。CA证书是信任的根,用于签署其他证书,确保网络...
Java调用OpenSSL生成证书是一种常见的安全操作,用于创建数字证书,这些证书在网络安全中扮演着重要角色,例如HTTPS通信、服务器身份验证等。在这个过程中,我们通常会使用OpenSSL命令行工具,然后通过Java程序来...
这将生成一个名为`server.crt`的服务器端证书文件,该文件包含了服务器的公钥信息和证书签名信息。 五、tomcat配置 在tomcat中,我们需要配置SSL/TLS证书,以便启用HTTPS连接。首先,我们需要将服务器端证书和私钥...
Java 生成证书是指通过 Java 的 keytool 工具和 OpenSSL 库生成数字证书的过程。在 HTTPS 环境下,证书是必不可少的组件, play a crucial role in ensuring the security and authenticity of online transactions....
生成证书是网络安全中的一项关键任务,主要用于验证服务器或客户端的身份。下面我们将详细介绍如何使用OpenSSL来生成证书,以及相关的证书转换操作。 一、OpenSSL编译与安装 在Windows环境下编译OpenSSL通常需要...
首先,我们将学习openSSL的基本概念和命令,然后逐步生成服务器端和客户端的证书文件,并介绍如何使用CA证书签名这些证书文件。最后,我们将介绍如何在Tomcat上配置这些证书文件。 openSSL简介 openSSL是一个开源的...
使用Java实现根据ca购买到的根证书 批量生产客户端需要的.bks和.cer文件,从而实现双向认证
本教程将详细介绍如何使用OpenSSL在Windows环境下为Nginx服务器配置HTTPS服务,以及如何生成和管理SSL证书。 首先,了解SSL证书的作用。SSL证书通过加密通信,确保了用户与服务器之间的数据传输不被第三方窃取或...
总结来说,自签署根证书、服务器证书和客户端证书在不同场景下各有作用,虽然自签署过程相对简单,但在公开互联网上,使用权威CA签发的证书更为可靠。理解并掌握这些证书的原理和操作,对于维护网络安全至关重要。
在使用 OpenSSL 生成证书时,需要了解 SSL 协议的原理和实现机制。SSL 协议采用公开密钥技术,通过生成证书来确保通信的保密性和可靠性。OpenSSL 提供了丰富的工具和命令来生成证书,包括生成私钥、生成证书请求、...
在IT行业中,理解和使用OpenSSL生成证书是至关重要的,特别是对于网络服务器配置和安全通信。 "OpenSSL 一键生成证书"项目是针对OpenSSL进行的二次开发,旨在简化证书创建过程。通常,生成SSL/TLS证书需要一系列...
在本文中,我们将详细介绍如何使用 OpenSSL 生成证书,包括生成服务器端的私钥、Certificate Signing Request(CSR)文件和客户端的私钥和CSR文件。 首先,我们需要下载并安装 OpenSSL,然后进入/bin/目录,执行...
### Linux下用OpenSSL生成...通过以上步骤,您可以在Linux环境下成功使用OpenSSL生成完整的X.509证书链,包括根证书、服务器证书和客户端证书。这些证书可用于搭建安全的网络通信环境,确保数据传输的安全性和机密性。
在本文中,我们将详细探讨如何使用 OpenSSL 生成证书,包括服务器端和客户端的私钥、证书签名请求 (CSR) 以及去除私钥口令的过程。 首先,你需要下载并安装 OpenSSL。安装完成后,确保你在 `/bin` 目录下,然后将 `...
通过这个“openssl生成的证书demo”,我们可以了解到OpenSSL在创建和管理数字证书方面的强大功能,这对于构建安全的网络服务和客户端应用至关重要。在理解和实践这些步骤后,你将能够更好地处理SSL/TLS证书相关的...
这些资源通常会涵盖创建服务器端和客户端程序的基本步骤,包括初始化SSL_CTX,加载证书和私钥,以及处理连接事件。 总的来说,理解和掌握OpenSSL的使用对于任何涉及网络安全和服务器运维的IT专业人员都是至关重要的...
编写一个简单的服务器和客户端程序,使用Boost.Asio库建立SSL连接并进行数据交换。测试过程中,客户端应能成功验证服务器的证书。 通过以上步骤,你就成功地使用openssl生成了单向SSL证书,并将其应用于基于Boost....
本文将详细介绍如何使用OpenSSL来创建生成CA(Certificate Authority)证书、服务器证书和客户端证书以及它们对应的密钥。 首先,我们需要理解证书的基本概念。在SSL/TLS协议中,证书用于验证通信双方的身份,通常...
OpenSSL 证书生成器 可用于apache的ssl证书生成
SSL证书是一种网络安全技术,用于在客户端浏览器和Web服务器之间建立一条加密的SSL安全通道。SSL(Secure Socket Layer,安全套接层)协议最初由Netscape Communication公司设计,目的是提供身份认证、数据加密传输...