iOS生成推送push证书,push.p12文件

@[TOC] 生成push证书

在ios应用中如果要使用推送功能,需要在apple官网生成一个推送的证书用于鉴权;
与打包证书类似,推送证书也分为开发版和正式版
之前一直在用开发版的证书,直到上线后有用户反馈ios系统收不到推送,才意识到没有配置正式的push证书

环境:
1.macOS系统电脑
2.apple Store账户电子邮箱

步骤:
1.生成证书签名(CSR)请求文件CertificateSigningRequest.certSigningRequest
2.创建推送证书cer文件
3.安装证书秘钥、导出p12文件
4.将第2步的cer文件转换为pem格式的文件
5.将第3步的p12文件转换为pem格式的文件
6.将4、5步得到的两个pem文件合并为一个pem文件
7.将第6步得到的pem文件转换为p12文件

遇到问题:第3步
1."Apple Push Services:XXX.XXX.XXX"证书不受信任
2.导出p12文件是灰色的

具体操作步骤:

打开macOS 上“钥匙串访问”–钥匙串访问–证书助理–从证书办法机构请求证书–
在这里插入图片描述
在这里插入图片描述
在“用户电子邮件地址”和“CA 电子邮箱地址中”填写你的appId的邮箱账号(苹果开发者平台账号);“常用名称”随便填,下边选择"存储到磁盘",这里选择存储到桌面
在这里插入图片描述
在这里插入图片描述
2.创建推送证书

登录苹果开发者中心 https://developer.apple.com/account/
选择Certificates, Identifiers & Profiles
–Identifiers–
–点击要生成证书的app–
–下拉Push Notifications–
–点击edit–
–选择刚才生成的CertificateSigningRequest.certSigningRequest–
–点击continue–
在生成的页面中Download–
得到aps.cer

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
3.双击下载的aps.cer添加到“钥匙串访问”,

提示"Apple Push Services:XXX.XXX.XXX"证书不受信任
原因:之前的Worldwide Developer Relations过期了
–前往https://www.apple.com/certificateauthority/
–下载Worldwide Developer Relations - G4 (Expiring 12/10/2030 00:00:00 UTC)
–双击添加到“钥匙串访问”
–证书就正常了–
右键导出–发现.p12是灰的,
原因:这个是系统钥匙串
需要点击左上角“登录”–“我的证书”里边导出
命名导出的文件–
设置文件密码–输入电脑的登录密码–得到push.p12文件

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
4.将cer文件转换为pem格式的文件
打开终端----->cd打开到cer文件文件夹,执行下面的命令
命令: openssl x509 -inform der -in 文件名称.cer -out PushChatCert.pem
(PushChatCert.pem:生成的pem文件)
5.将p12文件转换为pem格式的文件
push.p12:p12的文件名
命令:openssl pkcs12 -nocerts -out PushChatKey.pem -in Push.p12
(PushChatKey.pem:生成pem的文件名)
6.将4、5步得到的两个pem文件合并为一个pem文件
命令:cat PushChatCert.pem PushChatKey.pem > ck.pem
7.将第6步得到的pem文件转换为p12文件
命令:openssl pkcs12 -export -in ck.pem -out pushcer.p12
(pushcer.p12:最后交给服务器的p12文件)

  • 0
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值