您的位置:首页 > 移动开发 > IOS开发

iOS 探讨之 百度推送 "证书无效"

2017-12-19 10:57 537 查看
阐述最近有许多证书将要过期,趁着有时间赶紧将公司的证书全部梳理一遍。在对百度推送进行证书更新时,出现了“证书无效”的错误(去年更新的时候也没出现问题),折腾好几天才解决掉。记录一下,并辟谣许多错误的说法(不让大家走弯路)。
探讨首先感谢一下 “控记我记几”,在他的博文中所提出的解决方法很有效果。- openssl 版本问题博主指出百度推送不接受 openssl 版本高于0.9.8 所生成的pem, 查了一下现在的系统是macOS High Sierra 10.13.2,opensll 版本为 2.2.7。


故感觉问题可能出在这个地方。解决方法:1 至 openssl 官网下载0.9.8zh版本  https://www.openssl.org/source/old/0.9.x/2 解压下载的压缩包3 通过Terminal (终端) 进入刚才解压目录4 Terminal (终端) 执行命令
./Configure darwin64-x86_64-cc --prefix=/usr/local/openssl --shared
Tip: 这一步执行完后手动到 /usr/local/ 目录下查看是否有一个openssl 文件夹,如果没有则说明当前用户没有权限来创建 openssl 文件夹,此时我们手动在这个目录下创建 openssl 文件夹,然后再次执行上面的命令
5 Terminal (终端) 执行命令
make && make install
6 此时 openssl (Unix可执行文件) 会出现在 /usr/local/openssl/bin/openssl 目录下, 我们用命令查看一下当前 openssl 版本
/usr/local/openssl/bin/openssl version



7 执行百度推送所使用的命令   /usr/local/openssl/bin/openssl pkcs12 -in MyApnsCert.p12 -out MyApnsCert.pem -nodesTip: openssl 必须使用刚才所创建的 0.9.8zh 版本

辟谣经过实际测试,发现以下几个说法不正确,大家勿信说法一名称为中文的P12所生成的Pem 不能通过验证                                                                                    错误说法二P12名称必须为 MyApnsCert.p12 且Pem名称必须为 MyApnsCert.pem, 否则不能通过验证                      错误说法三Keychain Access (钥匙串) 导出证书时,证书必须是收起状态(即不能显示专用密钥),否则不能通过验证      错误
参考资料1 https://www.cnblogs.com/zhaowenshuang/p/7668848.htmlhttp://www.cnblogs.com/gauze/p/5483703.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐