关于证书那点事---把一个p7b格式证书转换成cer格式证书。

把p7b格式证书转换成cer格式证书

        这个问题,需要追溯到我集成肯尼亚一家支付公司Safaricom的M-Pesa在线支付,我司需要集成这个在线支付手段在我们的站点中(ke)。在进行了一系列的处理后,最后需要进行测试https请求。下面简单介绍下具体操作,希望能帮到你。

Step 1:生成我司的CSR文件

         这个很简单,可以在网上找一个在线生成的地址及进行处理,在线生成CSR和Key,输入对应的信息,然后生成了两个文件,一个Private Key,这是私钥,安装证书的时候需要;另一个就是CSR文件,这个需要发给对方公司签名,但是这个原文件在安装证书的时候也需要用到。

Step 2:拿到Safaricom发给我的证书

         把CSR发给他们后,他们把证书发给了我,我是刚刚接触这个证书,我就天真的把证书发给了运维同事,然后运维告知我这个证书不能用,我们系统是用的Nginx。然后我问对方要Nginx的证书,因为是外国人,所以交流很难,而且对方也不懂技术,很尴尬,我只好自己在网上找答案,百度了很久也没有找到答案,都没有找到对应的解决方案,最后我在google上找到了一篇文章,文章也是说的他们公司的证书。文献资料。PS:我拿到的证书里面包含了四个证书:根证书,策略证书,发行正式,服务端证书。如下图:


Step 3:把.p7b转换成.cer格式

           我需要从.p7b中提取出所有的证书,前提是你的电脑中安装了Openssl。下面我们把Safaricom公司颁发的证书称为:safaricom_b2c.p7b。

           首先,将证书从DER转换为PEM格式:

$ openssl pkcs7 -inform der -in safaricom_b2c.p7b -out safaricom_b2c_readable.p7b
           然后你编辑转换后的证书看到的是这样的:


  
  
-----BEGIN PKCS7-----
a base64 encoded string
-----END PKCS7-----
         接下来,通过运行以下命令来提取证书:

$ openssl pkcs7 -print_certs  -in safaricom_b2c_readable.p7b -out safaricom_b2c_readable.cer
         

         这个时候证书是这样的:
         

   
   
subject=/DC=NET/DC=LABSAFCOM/CN=LABSAFCOM-PKIISSUE03-CA
issuer=/DC=NET/DC=LABSAFCOM/CN=LABSAFCOM-PKIPOLICY-CA
-----END CERTIFICATE-----
----BEGIN CERTIFICATE-----
a base64 encoded string
         最后你打开证书的路径是这样的:



Step:4 把证书编码改成Base 64 编码 X.509(.CER) (S)

             右键打开证书---->详细信息---->复制到文件---->下一步:选择Base 64编码---->下一步: 导出





  • 5
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值