iOS关于“百度云推送上传证书无效”的做法

        今天做了一个集成百度云推送功能的demo,习惯性的上了苹果开发者中心配置了一系列的证书。

        之后来到百度云推送的开发者中心,创建了应用,需要上传推送开发和生产证书。百度云上并没有写明该上传什么格式的证书,于是上传了我自己配的两个p12文件,不对?那就是把p12再转成pem再上传咯?于是照常使用openssl pkcs12 -in BDYDev.p12 -out BDYDev.pem -nodes 操作转换出了开发的和生产的两个pem文件。继续上传,咦还是不对。。

        于是打开百度云的SDK中看他的说明,百度云SDK中“iOS证书指导.pdf”中跟我的做法没有出入啊。看样子还得上百度找答案。

终于在网上找到了答案,根据网上的说法,百度云平台生成pem文件的openssl版本不得高于0.9.8   在终端输入命令 openssl --version,打印出了2.2.7

具体解决做法:

1、至 openssl 官网 https://www.openssl.org/source/old/0.9.x/  找到0.9.8zh版本点击下载

2、解压openssl-0.9.8zh文件

3、终端cd到解压出来的openssl-0.9.8zh文件夹

4、终端输入命令“./config”

5、右键“Finder”前往文件夹“/usr/local/”,如果该目录下没有openssl目录,则自己创建一个

6、终端输入命令“./Configure darwin64-x86_64-cc --prefix=/usr/local/openssl --shared”

7、终端输入命令“make && make install”,此时 openssl (Unix可执行文件) 会出现在 /usr/local/openssl/bin/openssl 目录下,可以自己右键“Finder”去到该目录会发现已经有内容了

8、终端输入命令“/usr/local/openssl/bin/openssl version”如果打印出0.9.8说明,版本成功了

9、终端cd到自己的推送开发和生产p12文件的目录

10、终端输入命令“/usr/local/openssl/bin/openssl pkcs12 -in BDYDev.p12 -out BDYDev.pem -nodes ”和“/usr/local/openssl/bin/openssl pkcs12 -in BDYDis.p12 -out BDYDis.pem -nodes ”

至此,生成的BDYDev.pem和BDYDis.pem可以上传到百度云平台了。

最后,百度云推送看来看来应该是比较少人用了,不然这些这么坑的地方都没什么人提出来,官方估计也懒得更新这些了。

你可能感兴趣的:(iOS关于“百度云推送上传证书无效”的做法)