标签: sleekxmpp

SleekXMPP:“证书已过期。”

我目前正在尝试使用Python3.5中的sleekxmpp模块连接到XMPP服务jabber.at。Jabber.at的SSL证书由Let's Encrypt颁发。

我遇到的问题是,当我尝试使用sleekxmpp登录到jabber.at帐户时,出现以下错误:

INFO     Negotiating TLS
INFO     Using SSL version: TLSv1
ERROR    Certificate has expired.
Run Code Online (Sandbox Code Playgroud)

我试图在Ubuntu 16.04,Manjaro GNOME 17和Windows 10上解决此问题,并在每台计算机上重新安装了Python,sleekxmpp和sleekxmpp的所有依赖项。没什么不同。

在我的每台计算机上,我都安装了Let's Encrypt Authority X3证书,但是sleekxmpp仍然认为该证书已过期,即使该证书在2022年之前仍然有效。令人沮丧的是,我能够使用Pidgin登录到我的XMPP帐户, Pidgin自动保存的证书(在Linux中可以在〜/ .purple /下找到)与我直接从Let's Encrypt下载的证书完全相同。

我尝试将ssl版本手动更改sleekxmpp.xmlstream.xmlstream.py:125ssl.PROTOCOL_SSLv23,但这也没有用。我也尝试过手动指定中的Let's Encrypt .crt文件的路径sleekxmpp.xmlstream.xmlstream.py:140,但仍然存在相同的问题。

我要指出,我有dnspythonpyasn1pyasn1_modules安装在每台机器上。虽然我可以通过卸载成功登录到jabber.at帐户pyasn1,或者通过将设置sleekxmpp.xmlstream.xmlstream.py:140为来显式忽略证书None,但这并不是我的解决方案-我必须加密连接。

有什么我可以做的吗?我已经待了好几天了,但在Google上找不到任何有用的解决方案。

感谢您的帮助!

python encryption ssl python-3.x sleekxmpp

3
推荐指数
1
解决办法
728
查看次数

标签 统计

encryption ×1

python ×1

python-3.x ×1

sleekxmpp ×1

ssl ×1