当前位置: 首页 > Linux

解决pythonopenssl版本过低的坎坷

时间:2023-04-06 11:05:53 Linux

最近在开发iOS推送服务的时候遇到一个问题。问题是值错误。原因是openssl版本太低。解析ApplePushService的.p8文件时,无法解析ValueError:Couldnotunserializekeydata。链接:https://github.com/pyca/crypt...为了解决这个问题从端午谷歌到今天,我都没有彻底解决问题。都是wgetopenssl的压缩包,解压后编译。虽然最后在命令行下输入Opensslversion可以得到正确的安装版本号,但是python还是老版本或者新版本,但是存在各种问题。我猜可能是只安装了新版本的openssl,但devel还是旧版本。满世界找openssl-develrpm安装教程,结果还是各种报错,真是快要抓狂了。解决办法今天google了一下,看到ubuntu16.x版本内置了openssl1.0.2,感觉这个问题要解决了。最后通过升级ubuntu完成python的Openssl依赖升级。但是过程也比较曲折,因为要恢复旧文件(uwsgi+nginx相关文件)。不管怎样,推送服务终于可以用了,我很高兴。通宵达旦找资料几天,终于有结果了。最后在virtulenv中输入python-c"importssl;printssl.OPENSSL_VERSION",得到新版本的openssl版本。感觉不体验一次就无法真正理解Final。希望遇到相关问题的人可以阅读这篇文章。让问题得到解决。其实主要是阿里云的ubuntu版本没有及时更新,将内置的openssl升级到1.0.2,才导致了这个问题。不过这个问题比较少见,因为并不是每个开发者都在阿里云上使用APNS。毕竟版本稳定才是商业公司的首要目标。结束。