Pidgin für XMPP - SSL Handshake fehlgeschlagen

941
dGo

Ich habe das neueste Ubuntu 18.04 installiert und versuche, mich mit unserem hauseigenen XMPP-Server (der ziemlich alt ist und auf den ich keinen Zugriff habe) mit Pidgin zu verbinden, wie früher.

Ich kann mich aber nicht verbinden ... Ich bekomme einen SSL Handshake FailedFehler.

Das bekomme ich im Debug-Fenster:

(10:37:11) account: Connecting to account d.goosens@%%SERVER_NAME%%/Spark 2.6.3. (10:37:11) connection: Connecting. gc = 0x55e3f7cdca10 (10:37:11) dnsquery: Performing DNS lookup for %%SERVER_IP%% (10:37:11) dnsquery: IP resolved for %%SERVER_IP%% (10:37:11) proxy: Attempting connection to %%SERVER_IP%% (10:37:11) proxy: Connecting to %%SERVER_IP%%:5222 with no proxy (10:37:11) proxy: Connection in progress (10:37:11) proxy: Connecting to %%SERVER_IP%%:5222. (10:37:11) proxy: Connected to %%SERVER_IP%%:5222. (10:37:11) jabber: Sending (d.goosens@%%SERVER_NAME%%/Spark 2.6.3): <?xml version='1.0' ?> (10:37:11) jabber: Sending (d.goosens@%%SERVER_NAME%%/Spark 2.6.3): <stream:stream to='%%SERVER_NAME%%' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' version='1.0'> (10:37:11) jabber: Recv (177): <?xml version='1.0' encoding='UTF-8'?><stream:stream xmlns:stream="http://etherx.jabber.org/streams" xmlns="jabber:client" from="%%SERVER_NAME%%" id="a1c57c52" xml:lang="en" version="1.0"> (10:37:11) jabber: Recv (486): <stream:features><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"></starttls><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>DIGEST-MD5</mechanism><mechanism>PLAIN</mechanism><mechanism>ANONYMOUS</mechanism><mechanism>CRAM-MD5</mechanism></mechanisms><compression xmlns="http://jabber.org/features/compress"><method>zlib</method></compression><auth xmlns="http://jabber.org/features/iq-auth"/><register xmlns="http://jabber.org/features/iq-register"/></stream:features> (10:37:11) jabber: Sending (d.goosens@%%SERVER_NAME%%/Spark 2.6.3): <starttls xmlns='urn:ietf:params:xml:ns:xmpp-tls'/> (10:37:11) jabber: Recv (50): <proceed xmlns="urn:ietf:params:xml:ns:xmpp-tls"/> (10:37:11) nss: Handshake failed (-12279) (10:37:11) connection: Connection error on 0x55e3f7cdca10 (reason: 5 description: SSL Handshake Failed) (10:37:11) account: Disconnecting account d.goosens@%%SERVER_NAME%%/Spark 2.6.3 (0x55e3f700e310) (10:37:11) connection: Disconnecting connection 0x55e3f7cdca10 (10:37:11) connection: Destroying connection 0x55e3f7cdca10 (10:37:12) util: Writing file prefs.xml to directory /home/dgoosens/.purple (10:37:12) util: Writing file /home/dgoosens/.purple/prefs.xml (ersetzt SERVER_NAME und SERVER_IP)

Ich habe alle möglichen Kontoeinstellungen ausprobiert ... aber nichts scheint zu funktionieren ...

Irgendwelche Vorschläge ?


BEARBEITEN (2018-05-07)

Anscheinend verwendet mein Server ein abgelaufenes STARTTLS-Zertifikat.
Ich habe die Anweisungen hier verfolgt: https://askubuntu.com/questions/610585/force-pidgin-to-acept-an-invalid-certificate

Das Zertifikat mit heruntergeladen openssl und in Pidgin importiert ...
Dies ändert jedoch nichts ... und erhält immer noch die gleichen Debug-Informationen.
Ich vermute, ich kann die App nicht richtig konfigurieren

Irgendwelche Vorschläge, wie man damit umgehen soll?

0
Sie haben den Client so konfiguriert, dass er ein TLS-Zertifikat verwendet. Verwendet der Server das gleiche Zertifikat? Welche Verschlüsselungen haben Sie beim Erstellen des selbstsignierten Zertifikats aktiviert? Sie sollten Ihre Frage bearbeiten, um diese wichtigen Informationen aufzunehmen, damit Ihre Frage beantwortet werden kann. Ramhound vor 5 Jahren 0
habe kein TLS-Zertifikat eingerichtet ... und soweit ich sehen kann, gibt es in Pidgin keine Möglichkeit dies zu tun. Ich habe nur "Verschlüsselung, falls verfügbar" angefordert und ich bin mir ziemlich sicher, dass es keine gibt. Mit dem gleichen Setup in Thunderbird oder Psi (einem anderen XMPP-Client) funktioniert das auch ... dGo vor 5 Jahren 0
Sie haben es möglicherweise nicht konfiguriert, ändern jedoch nicht die Tatsache, dass Ihre aktuelle Konfiguration ein TLS-Zertifikat verwendet, das auf dem Inhalt des XML-Dokuments basiert, insbesondere Folgendes: * xmpp-tls * Ramhound vor 5 Jahren 0
danke @Ramhound hat meine Frage mit den Informationen aktualisiert, die ich sammeln konnte ... aber Angst, dass dies Ihnen nicht weiterhilft dGo vor 5 Jahren 0
@dGo es klingt, als sei der XMPP-Server nicht gut gepflegt. Ich vermute, dass es mehr sein kann als das Zertifikat, aber möglicherweise mit den SSL-Versionen zusammenhängt, die der Server unterstützt. Neuere Betriebssysteme wie Ubuntu 18.04 verwenden keine unsicheren Protokollversionen. Dies könnte Ihr Problem erklären. Um festzustellen, ob dies das Problem ist, scheint es so, als wäre eine Paketerfassung von Wireshark erforderlich (die Protokollnachricht von Pidgin ist nicht detailliert genug, um den Grund für den Handshake-Fehler anzugeben). MattJ vor 5 Jahren 0
Oh, ich weiß sicher, dass es nicht gut gepflegt ist ... Wenn mir nicht jemand sagen kann, wie Pidgin ohne Verschlüsselung laufen soll, denke ich, ich bleibe bei Thunderbird, um es momentan zu nutzen. dGo vor 5 Jahren 0

2 Antworten auf die Frage

1
EionRobb

Die Debug-Nachricht (10:37:11) nss: Handshake failed (-12279)ist hier der Schlüssel. Von https://www-archive.mozilla.org/projects/security/pki/nss/ref/ssl/sslerr.html bezieht sich dies auf:

SSL_ERROR_UNSUPPORTED_VERSION -12279 "Peer verwendet nicht unterstützte Version des Sicherheitsprotokolls."

Auf einem Client-Socket bedeutet dies, dass der Remote-Server versucht hat, die Verwendung einer SSL-Version auszuhandeln, die von der NSS-Bibliothek nicht unterstützt wird, möglicherweise eine ungültige Versionsnummer. Auf einem Server-Socket bedeutet dies, dass der Remote-Client die Verwendung einer älteren SSL-Version als Version 2 angefordert hat.

Verwenden Sie das NSS Preferences-Plugin (aus der Buddy-Liste, Tools-> Plugins), um Ihre minimale TLS / SSL-Version auf einen Wert zu setzen, der so niedrig ist, dass der Server dies unterstützt.

danke ... ich habe das bereits auf 1.0 gesetzt und alle Chiffren geprüft ... Ich fange an zu glauben, dass es nicht pidgin ist, das dies verursacht, sondern die darunterliegende open_ssl-Python-Implementierung ... dGo vor 5 Jahren 0
-1
Dr Deo

Pidgin erfordert, dass Sie ein Zertifikat auf dem Server einrichten. Wenn Sie beispielsweise ejabberd verwenden, müssen Sie ejabberd.yml bearbeiten und die certfileOption hinzufügen

listen: - port: 5222 ip: "::" module: ejabberd_c2s certfile: "c:/ejabberdserver/server_new.pem"