【问题标题】:Generate PEM from private key, Apple CER从私钥生成 PEM,Apple CER
【发布时间】:2016-02-29 15:22:52
【问题描述】:

我正在尝试为 Apple 推送通知服务创建一个 .pem 文件,但找不到生成它的简单方法。

我无法使用 Apple 电脑,因此 Apple 的说明毫无用处。使用 Windows 10。

我做了什么:

  1. 通过生成器(特别是 WHM)制作了 CSR + 私钥。它们是纯文本格式
  2. 通过将请求复制并粘贴到文件中,创建了一个扩展名为 .certSigningRequest 的 CSR 文件
  3. 已将 CSR 上传到 Apple 开发中心并取回了 CER 格式的证书,由 Apple 提供

所以最后,我有纯文本格式的私钥和 CER 格式的证书。

但是,我读到 CER 应该只是具有不同扩展名的 CRT;但是,情况似乎并非如此,而且我不知道如何从收到的 CER 文件中提取纯文本证书以制作 PEM。此外,我不太确定如何从我拥有的东西中生成 p12 文件(这被列为制作 PEM 的一种可能的简单方法)。

问题是:是否可以从 CER 文件中提取纯文本证书?或者,以某种方式将其与私钥一起转换为 PEM? (我有 OpenSSL)

更新:我能够提取 CER 的文本部分,结果 Apple CER 是 DER 格式,因此可以使用:

openssl x509 -in cert.cer -inform DER -out cert.crt

但是仍然存在一个问题:PEM 在密钥和证书之间还包含某种数据(包属性、密钥属性),不知道如何生成它。现在调查,但答案将非常有帮助!

【问题讨论】:

  • 您可以将其安装在您生成私钥的 Windows 机器上的证书存储中,然后将其导出为 .pfx(与 .p12 相同)
  • 谢谢。问题是,我在另一台机器上生成了密钥,并且只有纯文本。在大多数情况下,Apple 可以在 Windows 上生成新的 CSR/密钥对并正确执行此过程,但我试图使用现有的 CSR/密钥对。

标签: ssl apple-push-notifications pem


【解决方案1】:

好的,所以我想我想通了。仍然没有测试它是否适用于真正的 APN,但是 APN 很古怪,并且由于一百万个原因无法工作,而且 PEM 看起来不错,所以这是需要做的事情(使用 OpenSSL),假设你有 cert.cer和 cert.key(纯文本私钥):

  1. 从 CER 创建纯文本证书:openssl x509 -in cert.cer -inform DER -out cert.crt
  2. 从 CER 和 KEY 创建 PFX:openssl pkcs12 -export -out cert.pfx -inkey cert.key -in cert.crt
  3. 将 PFX 转换为 PEM:openssl pkcs12 -in cert.pfx -out cert.pem -nodes

我尝试通过组合 2 和 3 来缩短此过程,但它没有生成纯文本 PEM。

更新:它适用于真正的 APN,所以这确实是一个解决方案。

【讨论】:

    猜你喜欢
    • 2013-07-05
    • 1970-01-01
    • 1970-01-01
    • 2017-02-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-09
    相关资源
    最近更新 更多