前提: 为了安全考虑,原来使用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生成证书,有详细的步骤说明,亲测可用。还有一些关于证书的一些常用转换操作介绍
这是我自己关于学习openSSL的一些心德,很初级,请大家不要见笑
通过OpenSSL生成的ssl证书,用于windows下用nginx配置https服务器( OpenSSL创建证书) 无需再下载OpenSSL,配置OpenSSL相关环境,在进行命令生成证书
这是采用调用opessl生成的证书。方法封装在jar包。有些原有的
利用OpenSSL生成证书详解,利用OpenSSL生成证书详解
使用Java实现根据ca购买到的根证书 批量生产客户端需要的.bks和.cer文件,从而实现双向认证
openssl实现服务器和客户端
生成证书 通过keytool 和openssl,帮助在https环境下测试证书,但是此证书浏览器不认的
OpenSSL 证书生成器 可用于apache的ssl证书生成
使用OpenSSL生成密钥与证书,并进行双向验证
用openssl签发ssl x.509证书 建立根证书: 制做服务器端的证书并用ca签名: 生成crt格式 生成cer格式
1、生成--服务器端--私钥和证书请求 2、生成--客户端-----私钥和证书请求 3、生成CA 4、通过CA签发证书 5、生成pem格式证书 6、生成pkcs12格式证书 二、tomcat实现双向认证 1、创建服务器信任的CA证书库 2、配置...
使用openssl生成单向ssl证书,此方法生成的证书可以用于基于boost.asio库的SSL通讯测试中。基于基于boost.asio库SSL通讯测试程序可参见本人其他资源。
打包的一个openssl包,自己编写的一个openssl 的批处理,填写基本信息就能生成key,免去了自己繁琐的输入命令。(openssl基于apache2.2.21提取) 如果配置来使用svn的话可以参考:...
OPenssl生成证书.docx
OpenSSL创建生成CA证书、服务器、客户端证书及密钥,配套。https://blog.csdn.net/qq153471503/article/details/109524764
对openssl进行二次研发封装通过批处理的方式增加“一键生成CA证书”、“一键生成Server证书”、“一键生成Client证书”等工具。方便研发人员快捷的生成所需各种证书
java的ssl客户端编程与LINUX的OpenSSL服务器通讯的实现及有关文档 附件中包含本人开发工程中使用过的DEMO程序及制作证书的解本文件
利用openssl生成CA证书的方法及证书,根据文档可以自己生成证书。
自己学习openSSL的一些总结,很初步,希望能够帮助到跟我一样刚刚开始接触openSSL的朋友,很浅显,我也是初学者,希望大家不要见笑。