openssl生成证书,供服务器端dotnet和 java客户端使用

前提: 为了安全考虑,原来使用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");

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值