SleekXMPP:"Certificate has expired."
SleekXMPP: "Certificate has expired."
我目前正在尝试使用 Python3.5 中的 sleekxmpp 模块连接到 jabber.at,一种 XMPP 服务。 Jabber.at 的 SSL 证书由 Let's Encrypt 颁发。
我遇到的问题是,当我尝试使用 sleekxmpp 登录我的 jabber.at 帐户时,出现以下错误:
INFO Negotiating TLS
INFO Using SSL version: TLSv1
ERROR Certificate has expired.
我已尝试在 Ubuntu 16.04、Manjaro GNOME 17 和 Windows 10 上解决此问题,方法是全新安装 Python、sleekxmpp 和所有 sleekxmpp在每台机器上的依赖项。没什么区别。
在我的每台机器上,我都安装了 Let's Encrypt Authority X3 certificate,但 sleekxmpp 仍然认为证书已过期,即使证书有效期到 2022 年。令人沮丧的是,我能够登录到我的使用Pidgin的XMPP账号,Pidgin自动保存的证书(可以在Linux中的~/.purple/下找到)和我直接从Let's Encrypt.
下载的完全一样
我曾尝试手动将 sleekxmpp.xmlstream.xmlstream.py:125
中的 ssl 版本更改为 ssl.PROTOCOL_SSLv23
,但这也没有用。我也尝试过在 sleekxmpp.xmlstream.xmlstream.py:140
中手动指定 Let's Encrypt .crt 文件的路径,但我仍然遇到同样的问题。
请注意,我在每台机器上都安装了 dnspython
、pyasn1
和 pyasn1_modules
。虽然我 可以 通过卸载 pyasn1
或通过将 sleekxmpp.xmlstream.xmlstream.py:140
设置为 None
来显式忽略证书来成功登录我的 jabber.at 帐户,这不是我的解决方案 - 我必须加密我的连接。
有什么我可以做的吗?我已经这样做了好几天了,但我一直无法在 Google.
上找到任何有用的解决方案
感谢任何帮助!
一个多月后,我找到了解决自己问题的方法。
原来这个问题是由版本 1.3.3 中引入的 SleekXMPP 中的回归引起的:
这个问题最近才得到解决,但截至目前,还没有包含修复程序的正式版本。此问题的短期解决方案是卸载 SleekXMPP,然后重新安装 SleekXMPP,指定版本 1.3.1:
sudo pip3 uninstall sleekxmpp
sudo pip3 install sleekxmpp==1.3.1
恢复到版本 1.3.1 为我解决了这个问题。也许这在 SleekXMPP 1.3.4 中将不再是一个问题。
我目前正在尝试使用 Python3.5 中的 sleekxmpp 模块连接到 jabber.at,一种 XMPP 服务。 Jabber.at 的 SSL 证书由 Let's Encrypt 颁发。
我遇到的问题是,当我尝试使用 sleekxmpp 登录我的 jabber.at 帐户时,出现以下错误:
INFO Negotiating TLS
INFO Using SSL version: TLSv1
ERROR Certificate has expired.
我已尝试在 Ubuntu 16.04、Manjaro GNOME 17 和 Windows 10 上解决此问题,方法是全新安装 Python、sleekxmpp 和所有 sleekxmpp在每台机器上的依赖项。没什么区别。
在我的每台机器上,我都安装了 Let's Encrypt Authority X3 certificate,但 sleekxmpp 仍然认为证书已过期,即使证书有效期到 2022 年。令人沮丧的是,我能够登录到我的使用Pidgin的XMPP账号,Pidgin自动保存的证书(可以在Linux中的~/.purple/下找到)和我直接从Let's Encrypt.
下载的完全一样我曾尝试手动将 sleekxmpp.xmlstream.xmlstream.py:125
中的 ssl 版本更改为 ssl.PROTOCOL_SSLv23
,但这也没有用。我也尝试过在 sleekxmpp.xmlstream.xmlstream.py:140
中手动指定 Let's Encrypt .crt 文件的路径,但我仍然遇到同样的问题。
请注意,我在每台机器上都安装了 dnspython
、pyasn1
和 pyasn1_modules
。虽然我 可以 通过卸载 pyasn1
或通过将 sleekxmpp.xmlstream.xmlstream.py:140
设置为 None
来显式忽略证书来成功登录我的 jabber.at 帐户,这不是我的解决方案 - 我必须加密我的连接。
有什么我可以做的吗?我已经这样做了好几天了,但我一直无法在 Google.
上找到任何有用的解决方案感谢任何帮助!
一个多月后,我找到了解决自己问题的方法。
原来这个问题是由版本 1.3.3 中引入的 SleekXMPP 中的回归引起的:
这个问题最近才得到解决,但截至目前,还没有包含修复程序的正式版本。此问题的短期解决方案是卸载 SleekXMPP,然后重新安装 SleekXMPP,指定版本 1.3.1:
sudo pip3 uninstall sleekxmpp
sudo pip3 install sleekxmpp==1.3.1
恢复到版本 1.3.1 为我解决了这个问题。也许这在 SleekXMPP 1.3.4 中将不再是一个问题。