强制 Pidgin 接受无效证书

Tha*_*Guy 24 ssl pidgin certificates

我在 Pidgin 2.10.10-3.fc20 (libpurple 2.10.10) 上收到以下错误。

如何强制它接受无效证书?

(根据这个错误报告,它应该是有能力的)。

在此处输入图片说明

这是我所做的:

  • 在 Firefox 上访问了域,并导出了证书
  • 在 Pidgin工具上导入证书->证书
  • seahorse(gnome 密钥环 GUI)上导入证书

Mar*_*tin 15

作为替代方案,您可以手动下载 ssl 证书。之后 pidgin 开始没有问题。要下载证书,您可以使用 openssl 命令行实用程序。

~/.purple/certificates/x509/tls_peers$ openssl s_client -connect YOUR_SERVER:PORTNUMBER  
Run Code Online (Sandbox Code Playgroud)

当上述命令失败并显示“没有可用的对等证书”时,服务器可能使用 STARTTLS 而不是 SSL。在这种情况下,请使用以下命令:

~/.purple/certificates/x509/tls_peers$ openssl s_client -connect YOUR_SERVER:PORTNUMBER -starttls xmpp
Run Code Online (Sandbox Code Playgroud)

现在复制以“----BEGIN CERTIFICATE----”开头的部分。如果打印证书文件的内容,则如下所示:

~/.purple/certificates/x509/tls_peers$ cat jabber.ulm.ccc.de 

-----BEGIN CERTIFICATE-----
MIIFXDCCA0QCCQCa5jxvwccm0DANBgkqhkiG9w0BAQUFADBwMQswCQYDVQQGEwJE
RTEMMAoGA1UEBxMDVWxtMRUwEwYDVQQLEwxDQ0MgRXJmYSBVbG0xGjAYBgNVBAMT
EWphYmJlci51bG0uY2NjLmRlMSAwHgYJKoZIhvcNAQkBFhFqYWJiZXJAdWxtLmNj
...
3EIpMVk3V1djyj0FEuDaG/o+6BTLCiIMiIUFtbpVz8YZChHbv8ObMJ5JpUIkDfKZ
si1YZKpUYwpVXgTCUml67lArx/sq95OQsDSO3fR1Ch0=
-----END CERTIFICATE-----
Run Code Online (Sandbox Code Playgroud)

  • 将文件放在目录 ~/.purple/certificates/x509/tls_peers/ 并且文件名是 jabber 服务器的 DNS 名称很重要。因此,如果您的 jabber 帐户是 user123@jabber.ulm.ccc.de,那么您必须创建文件:~/.purple/certificates/x509/tls_peers/jabber.ulm.ccc.de (9认同)
  • @Martin 的上述评论应包含在答案中,因为使这项工作非常重要。解决方法在 Kubuntu 15.04 和 Pidgin 2.10.9(libpurple 2.10.9)上得到确认。 (2认同)

Tha*_*Guy 11

事实证明,Pidgin 2.10.10(libpurple 2.10.10)中的证书存在错误

在 2.10.10 版本中,不再可能连接到使用自签名 SSL 证书的 XMPP 服务器。错误消息是:无法验证的证书。提供的证书链无效。

如果服务器证书已在本地缓存 (.purple\certificates\x509\tls_peers) 中,则可以进行连接。如果证书尚未缓存(例如,在全新安装 windows/pidgin 之后),则连接失败。

升级到 2.10.11 修复了这个问题。如果您像我一样使用旧版 Ubuntu,则可以使用PPA(12.04、14.04 和 14.10)

  • 不幸的是,在“Ubuntu 15.04”中升级到“pidgin 2.10.11”并没有帮助。我刚刚检查了一下,发现问题仍未解决。 (2认同)
  • 是的,在我删除 libpurple 之前它对我不起作用:`sudo apt-get remove libpurple0` 然后重新安装`sudo apt-get install pidgin` (2认同)