我尝试了一遍又一遍地生成一个。pem文件,每次都从客户端帐户生成证书,然后使用终端生成。pem文件,但这没有用。谁能给出一个循序渐进的步骤?


当前回答

导出Cert.p12和key.p12后,操作非常简单, 请查看下面生成“apns”.pem文件的命令。

https://www.sslshopper.com/ssl-converter.html

command to create apns-dev.pem from Cert.pem and Key.pem

    

openssl rsa -in Key.pem -out apns-dev-key-noenc.pem

    

cat Cert.pem apns-dev-key-noenc.pem > apns-dev.pem

以上命令对沙盒和生产都有用。

其他回答

根据“处理推送证书问题”

Apple开发者计划帐户中可用的SSL证书包含公钥,但不包含私钥。私钥只存在于创建上传到Apple的证书签名请求的Mac上。导出PEM (Privacy Enhanced Mail)文件时,公钥和私钥都需要使用。

您无法从客户端提供的证书中导出工作的PEM的原因可能是您没有私钥。证书包含公钥,而私钥可能只存在于创建原始CSR的Mac上。

你可以:

尝试从最初创建CSR的Mac中获取私钥。可以从这台Mac上导出PEM,也可以将私钥复制到另一台Mac上。

or

创建一个新的CSR、新的SSL证书,这一次备份私钥。

苹果已经更改了颁发的证书的名称。现在,您可以在开发和生产中使用相同的证书。虽然您仍然可以请求仅用于开发的证书,但不能再请求仅用于生产的证书。

$ cd Desktop
$ openssl x509 -in aps_development.cer -inform der -out PushChatCert.pem

导出Cert.p12和key.p12后,操作非常简单, 请查看下面生成“apns”.pem文件的命令。

https://www.sslshopper.com/ssl-converter.html

command to create apns-dev.pem from Cert.pem and Key.pem

    

openssl rsa -in Key.pem -out apns-dev-key-noenc.pem

    

cat Cert.pem apns-dev-key-noenc.pem > apns-dev.pem

以上命令对沙盒和生产都有用。

现在有一个更简单的解决方案——pem。这个工具让生活变得更简单。

例如,要生成或更新您的推送通知证书,只需输入:

fastlane pem 

不到一分钟就能搞定。如果您需要沙盒证书,请输入:

fastlane pem --development

就是这样。