我正在尝试为Apple推送通知服务创建一个.pem文件,但找不到一种简单的方法来生成它。
我无法访问Apple电脑,因此Apple的说明毫无用处。使用Windows 10。
我做了什么:
CER
格式取回证书,由Apple提供所以最后,我有纯文本格式的私钥和CER格式的证书。
但是,我读到CER应该只是一个具有不同扩展名的CRT;然而,似乎并非如此,我不知道如何从我收到的CER文件中提取纯文本证书以制作PEM。此外,我不太确定如何从我的东西生成一个p12文件(这被列为制作PEM的可能简单方法之一)。
问题是:是否可以从CER文件中提取纯文本证书?或者,以某种方式将其与私钥一起转换为PEM? (我有OpenSSL)
更新:我能够提取CER的文本部分,结果Apple CERs采用DER格式,因此可以使用:
openssl x509 -in cert.cer -inform DER -out cert.crt
但是仍然存在一个问题:PEM还包含密钥和证书之间的某种数据(包属性,关键属性),不知道如何生成它。现在调查,但答案非常有用!
答案 0 :(得分:1)
好的,所以我想我明白了。仍然没有测试它是否适用于真正的APN,但APN是古怪的,并且无法工作一百万个原因,并且PEM看起来很好,所以这里需要做的事情(使用OpenSSL),假设你有cert.cer和cert.key(纯文本私钥):
openssl x509 -in cert.cer -inform DER -out cert.crt
openssl pkcs12 -export -out cert.pfx -inkey cert.key -in cert.crt
openssl pkcs12 -in cert.pfx -out cert.pem -nodes
我尝试通过组合2和3来缩短此过程,但它没有生成纯文本PEM。
更新:它适用于真正的APN,所以这确实是一个解决方案。