我尝试了一遍又一遍地生成一个。pem文件,每次都从客户端帐户生成证书,然后使用终端生成。pem文件,但这没有用。谁能给出一个循序渐进的步骤?
当前回答
苹果已经更改了颁发的证书的名称。现在,您可以在开发和生产中使用相同的证书。虽然您仍然可以请求仅用于开发的证书,但不能再请求仅用于生产的证书。
其他回答
现在有一个更简单的解决方案——pem。这个工具让生活变得更简单。
例如,要生成或更新您的推送通知证书,只需输入:
fastlane pem
不到一分钟就能搞定。如果您需要沙盒证书,请输入:
fastlane pem --development
就是这样。
要在iOS应用中启用推送通知,您需要创建并上传Apple推送通知证书(pem文件),以便我们能够代表您连接到Apple Push Server。
(更新版本,屏幕截图在这里)
步骤1:登录iOS发放Portal,点击左侧导航栏的“证书”。然后,点击“+”按钮。
第二步:在分发部分中选择Apple推送通知服务SSL(生产)选项,然后单击“继续”按钮。
第三步:选择你想要用于BYO应用的App ID(如何创建一个App ID),然后点击“继续”进入下一步。
步骤4:按照“关于创建证书签名请求(CSR)”步骤创建证书签名请求。
补充苹果公司提供的说明。下面是一些额外的截图,可以帮助你完成所需的步骤:
步骤4补充截图1:在Mac上进入钥匙链访问的证书助手。
步骤4补充截图2:填写证书信息。单击Continue。
第五步:上传“。步骤4生成certSigningRequest文件,然后点击Generate按钮。
第六步:点击“Done”完成注册,iOS Provisioning Portal页面将刷新,如下图所示:
然后点击“下载”按钮下载证书(。Cer文件)。-双击下载的文件,将证书安装到Mac上的Keychain Access中。
步骤7:在你的Mac上,进入“Keychain”,寻找你刚刚安装的证书。如果不确定哪个证书是正确的,它应该以“Apple Production IOS Push Services:”开头,后面跟着应用程序的捆绑包ID。
步骤8:展开证书,您应该看到带有您的姓名或公司名称的私钥。使用键盘上的“选择”键选择两个项目,右键单击(如果使用单键鼠标,则单击cmd),选择“导出2个项目”,如下所示:
然后保存名为“pushcert”的p12文件。现在你将被提示输入密码来保护它,你可以单击enter跳过密码或输入你想要的密码。
第九步:现在是最困难的部分——在Mac上打开“终端”,并运行以下命令:
cd
cd Desktop
openssl pkcs12 -in pushcert.p12 -out pushcert.pem -nodes -clcerts
步骤10:删除pushcert。p12从桌面,以避免错误上传到Build Your Own区域。打开Mac上的“终端”,并运行以下命令:
cd
cd Desktop
rm pushcert.p12
步骤11 - NEW AWS UPDATE:创建新的pushcert。p12提交AWS SNS。双击新的pushcert。Pem,然后导出绿色突出显示的文件。
来源:AWS新更新
现在,您已经成功创建了Apple推送通知证书(。p12文件)!稍后,您需要将此文件上传到我们的Build Your Own区域。:)
苹果已经更改了颁发的证书的名称。现在,您可以在开发和生产中使用相同的证书。虽然您仍然可以请求仅用于开发的证书,但不能再请求仅用于生产的证书。
根据“处理推送证书问题”
Apple开发者计划帐户中可用的SSL证书包含公钥,但不包含私钥。私钥只存在于创建上传到Apple的证书签名请求的Mac上。导出PEM (Privacy Enhanced Mail)文件时,公钥和私钥都需要使用。
您无法从客户端提供的证书中导出工作的PEM的原因可能是您没有私钥。证书包含公钥,而私钥可能只存在于创建原始CSR的Mac上。
你可以:
尝试从最初创建CSR的Mac中获取私钥。可以从这台Mac上导出PEM,也可以将私钥复制到另一台Mac上。
or
创建一个新的CSR、新的SSL证书,这一次备份私钥。
导出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
以上命令对沙盒和生产都有用。
推荐文章
- 如何使用Xcode创建。ipa文件?
- 动态改变UILabel的字体大小
- registerForRemoteNotificationTypes: iOS 8.0及以上版本不支持
- 在iPhone上确定用户是否启用了推送通知
- 是否有可能禁用浮动头在UITableView与UITableViewStylePlain?
- 错误ITMS-9000:“冗余二进制文件上传。火车1.0版本已经有一个二进制版本上传。
- Swift -转换为绝对值
- 从父iOS访问容器视图控制器
- 自定义dealloc和ARC (Objective-C)
- 调整UITableView的大小以适应内容
- 在代码中为UIButton设置一个图像
- NSRange从Swift Range?
- UICollectionView中的单元格间距
- 我如何在我的iOS应用程序中每n分钟得到一个后台位置更新?
- 如何使用iOS创建GUID/UUID