解决python openssl版本过低的坎坷路程

解决python openssl版本过低的坎坷路程

原因

最近在开发iOS 推送服务的时候遇到了一个问题。
问题是valueError,原因是openssl版本过低解析Apple Push Service的.p8文件的时候无法解析

ValueError: Could not unserialize key data

问题连接: https://github.com/pyca/crypt...

为了解决这个问题我从端午节Google到今天,一直都没有完整的解决问题。都是wget openssl的压缩包然后解压,然后编译。虽然最后在命令行下面输入Openssl version 能得到正确安装版本号但是python无论如何都是那个旧版本或者新版本但是出现各种问题。我猜测可能是只安装了openssl新版本但是devel还是旧版本。

我就各种满世界找openssl-devel rpm安装的教程最后还是各种错误我真的快气疯了。

解决

今天,我Google的时候看到了ubuntu16.x的版本内置了openssl1.0.2。我感觉这个问题要解决了。最后通过升级ubuntu完成了python的Openssl依赖升级。但是过程也是比较曲折,因为要重新把旧的文件恢复(uwsgi + nginx 的相关文件)。反正最后推送服务终于work了,很开心。几天的通宵达旦找资料终于有了成果。

最后进入virtulenv里面

python -c "import ssl; print ssl.OPENSSL_VERSION",

得到了新版本的openssl version,那种感觉你不经历一次真的无法体会

Final

希望遇到相关问题的人看到这边文章能让问题得到解决。其实主要问题就是阿里云的ubuntu版本没有及时更新让内置的openssl升级到1.0.2导致了这个问题。不过这个问题属于比较少见的,因为不是每个个人开发者都用阿里云都用APNS。毕竟版本稳定才是一个商业公司的首要追求目标

The End.

免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部