cer文件格式转换

今天要对接一个支付,支付那边丢了一些Java的示例,然后我觉得Java太鬼麻烦了,就用python做。
但他们给的公钥格式不是我之前用的pem格式 ,一个私钥是jks 一个公钥是cer。我就不知道怎么弄了。
我就尝试转换格式

jsk是Java专用格式的 在电脑上安装一个keyexport 输入几次密码后搞定了导出私钥的工作

cer就比较麻烦了,我在网上找到转换的方法

openssl x509 -inform der -in pub.cer -out pub.pem

忧郁的是,跳错了
13978:错误:0D0680A8:asn1编码例程:ASN1_CHECK_TLEN:错误标记:tasn_dec.c:1306:
13978:错误:0D07803A:asn1编码例程:ASN1_ITEM_EX_D2I:嵌套asn1错误:tasn_dec.c:380:Type = X509

然后就百度了一下,在网上看到OPENSSL的文档说明,
https://support.ssl.com/Knowledgebase/Article/View/19/0/der-vs-crt-vs-cer-vs-pem-certificates-and-how-to-convert-them

查看DER编码证书
openssl x509 -in certificate.der -inform der -text -noout
如果您收到以下错误,则表示您尝试使用针对DER编码证书的命令查看PEM编码证书。使用上面的“查看PEM编码证书”中的命令

无法加载证书
13978:错误:0D0680A8:asn1编码例程:ASN1_CHECK_TLEN:错误标记:tasn_dec.c:1306:
13978:错误:0D07803A:asn1编码例程:ASN1_ITEM_EX_D2I:嵌套asn1错误:tasn_dec.c:380:Type = X509

谷歌翻译过来的中文纠结了我很久。

后来用记事本打开那个cer文件,才明白了这段话的含义

编码(也用作扩展)
.DER = DER扩展用于二进制DER编码证书。这些文件也可能带有CER或CRT扩展名。正确的英语用法是“我有DER编码证书”而不是“我有DER证书”。
.PEM = PEM扩展名用于不同类型的X.509v3文件,这些文件包含前缀为“-BEGIN …”行的ASCII(Base64)装甲数据。

我用的这个证书它用的PEM编码,没有照常的使用der编码,所以我用

openssl x509 -inform der -in pub.cer -out pub.pem

这个命令是用der编码去转换 我转换这个用pem编码的证书就要用PEM编码去读取

最后我是用
openssl x509 -outform PEM -in cert.pem -pubkey -noout > public_key.pem

这样就转换成功了!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值