以前上传证书也遇到过这种类似的提示,按照官网配置流程经过一番折腾总能解决,然而这次折腾了大半天了。。。搞毛线啊,此事必有蹊跷。最终发现是我Mac系统版本(刚从10.12.6升到10.13)太高了,因为10.12.6的openssl版本是0.9.8zh,而10.13的系统openssl的版本是2.x.x,具体多少记不住了,公司电脑升级了,家里的还没升,百度推送不接受高于0.9.8的openssl生成的pem。找到原因就好办了,下面是重点:
1、到https://www.openssl.org/source/old/0.9.x/ 下载openssl 0.9.8zh版本
2、解压下载的压缩包
3、cd 你解压后的压缩包目录
4、执行命令
./Configure darwin64-x86_64-cc --prefix=/usr/local/openssl --shared
这一步可能会遇到没有权限创建openssl文件夹的问题,可以手动到/usr/local/下创建一个openssl文件夹,然后在执行命令
5、执行命令
make && make install
6、openssl将会出现在这个路径下:/usr/local/openssl/bin/openssl,命令行查看下版本:
/usr/local/openssl/bin/openssl version
显示0.9.8zh,成功!!!
7、生成pem:
/usr/local/openssl/bin/openssl pkcs12 -in 你的p12名字.p12 -out 输出的pem名字.pem -nodes
8、丢给百度推送吧
最后为方便使用,我已经将生成好的0.9.8zh版openssl上传,可以直接下载使用:openssl.zip