Erzwinge, dass Pidgin ein ungültiges Zertifikat akzeptiert


23

Ich erhalte die folgende Fehlermeldung für Pidgin 2.10.10-3.fc20 (libpurple 2.10.10).

Wie kann ich die Annahme eines ungültigen Zertifikats erzwingen?

(Laut diesem Fehlerbericht sollte es fähig sein).

Bildbeschreibung hier eingeben

Folgendes habe ich getan:

  • hat die Domain in Firefox besucht und das Zertifikat exportiert
  • importiert das Zertifikat auf Pidgin- Tools -> Zertifikate
  • Importierte das Zertifikat auf seahorse(Gnome Keyring GUI)

Bitte fügen Sie die Ubuntu-Version und den Quellcode für diese Pidgin-Version hinzu.
AB

Hast du das gesehen ? Vielleicht könnte jemand mit diesen Informationen arbeiten ...
Byte Commander

@ByteCommander Der Link, den Sie angegeben haben, ist nur ein Versuchsmodell. Ich würde gerne sehen, wie es implementiert wird, aber ich bin kein Entwickler.
Der Brasilianer

Ich brauche ein ungültiges Zertifikat. =)
AB

@AB Hast du die Quelle schon bearbeitet? Wenn ja, ziehe ich zu etwas anderem :)
kos

Antworten:


13

Alternativ können Sie das SSL-Zertifikat auch von Hand herunterladen. Danach startet Pidgin ohne Probleme. Zum Herunterladen des Zertifikats können Sie das Befehlszeilenprogramm openssl verwenden.

~/.purple/certificates/x509/tls_peers$ openssl s_client -connect YOUR_SERVER:PORTNUMBER  

Wenn der obige Befehl mit "Kein Peer-Zertifikat verfügbar" fehlschlägt, verwendet der Server möglicherweise STARTTLS anstelle von SSL. In diesem Fall verwenden Sie den folgenden Befehl:

~/.purple/certificates/x509/tls_peers$ openssl s_client -connect YOUR_SERVER:PORTNUMBER -starttls xmpp

Kopieren Sie nun den Teil, der mit "---- BEGIN CERTIFICATE ----" beginnt. Wenn Sie den Inhalt der Zertifikatdatei drucken, sieht dies folgendermaßen aus:

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

-----BEGIN CERTIFICATE-----
MIIFXDCCA0QCCQCa5jxvwccm0DANBgkqhkiG9w0BAQUFADBwMQswCQYDVQQGEwJE
RTEMMAoGA1UEBxMDVWxtMRUwEwYDVQQLEwxDQ0MgRXJmYSBVbG0xGjAYBgNVBAMT
EWphYmJlci51bG0uY2NjLmRlMSAwHgYJKoZIhvcNAQkBFhFqYWJiZXJAdWxtLmNj
...
3EIpMVk3V1djyj0FEuDaG/o+6BTLCiIMiIUFtbpVz8YZChHbv8ObMJ5JpUIkDfKZ
si1YZKpUYwpVXgTCUml67lArx/sq95OQsDSO3fR1Ch0=
-----END CERTIFICATE-----

1
...und dann was? Wo lege ich die heruntergeladene Datei ab?
Der Brasilianer

8
Legen Sie die Datei in das Verzeichnis ~ / .purple / certificates / x509 / tls_peers /. Dabei ist es wichtig, dass der Dateiname der DNS-Name des Jabber-Servers ist. Lautet Ihr Jabber-Account also user123@jabber.ulm.ccc.de, müssen Sie die folgende Datei erstellen: ~ / .purple / certificates / x509 / tls_peers / jabber.ulm.ccc.de
Martin

2
Der obige Kommentar von @Martin sollte in der Antwort enthalten sein, da es sehr wichtig ist, dass dies funktioniert. Behelfslösung für Kubuntu 15.04 mit Pidgin 2.10.9 (libpurple 2.10.9) bestätigt.
Bastien

11

Es stellte sich heraus, dass es einen Fehler mit Zertifikaten in Pidgin 2.10.10 (libpurple 2.10.10) gibt:

In Version 2.10.10 ist es nicht mehr möglich, eine Verbindung zu einem XMPP-Server herzustellen, der ein selbstsigniertes SSL-Zertifikat verwendet. Die Fehlermeldung lautet: Das Zertifikat für konnte nicht validiert werden. Die angegebene Zertifikatskette ist ungültig.

Die Verbindung ist möglich, wenn sich das Serverzertifikat bereits im lokalen Cache befindet (.purple \ certificates \ x509 \ tls_peers). Wenn das Zertifikat noch nicht zwischengespeichert ist (z. B. nach einer neuen Windows / Pidgin-Installation), schlägt die Verbindung fehl.

Ein Upgrade auf 2.10.11 behebt das Problem. Wenn Sie eine ältere Ubuntu-Version wie ich verwenden, können Sie die PPA (12.04, 14.04 und 14.10) verwenden.


2
Leider hilft ein Upgrade auf pidgin 2.10.11in Ubuntu 15.04nicht. Ich habe es gerade überprüft und festgestellt, dass das Problem weiterhin besteht.
Jacobian

@Jacobian Haben Sie sowohl Pidgin als auch libpurple aktualisiert ?
Der Brasilianer

2
Ja, es würde nicht für mich funktionieren, bis ich libpurple entfernt sudo apt-get remove libpurple0und dann neu installiert habesudo apt-get install pidgin
EoghanM

Dieses Gefühl, wenn ein Jahr veraltet ist PPA 2 Versionen höher als das offizielle Repository.
Hallo-Engel

2

Es scheint wichtig zu sein, dass der Name, den Sie beim Importieren des Zertifikats über Tools→ eingeben, Certificatesmit dem connect serverin der Konfiguration des XMPP-Kontos übereinstimmt . Nur so konnte ich dafür sorgen, dass es für den gleichen Fehler funktioniert.

Verbindungsserver und Zertifikat-Hostname sollten übereinstimmen


1
Willkommen bei Ask Ubuntu! Könnten Sie das näher erläutern (z. B. einen Beispielbefehl bereitstellen)? Wenn es gut ist und du mir eine Nachricht hinterlässt, komme ich zurück und stimme zu! ;-)
Fabby

1
@ Fabby danke, ich habe einen Screenshot hinzugefügt, um es klarer zu machen, keine Befehle erforderlich.
Tobigue

Eine Überarbeitung und eine Aufwertung! ;-)
Fabby

Nach Stunden zu lösen (15:24:43) nss: ERROR -8101: SEC_ERROR_INADEQUATE_CERT_TYPE (15:24:43) nss: subject name not verifiedDies war die Lösung! Vielen Dank!!
Matteolel

2

Eine andere Problemumgehung besteht darin, den Namen des Servers zu importieren, der in dem Fehler wie angegeben ist myserver.chat.com. Beispielsweise:

  1. Öffnen Sie den Firefox-Browser und geben Sie die URL HTTPS://mysever.chat.comein:

    Ungültiger Zertifikatfehler

  2. Wählen Sie Advanceddann die Option Add Exception. Ein Popup für das Zertifikat wird geöffnet.

  3. Klicken Sie dann auf Advanced-> Details->Export

    Certificate Viewer

  4. Speichern Sie das Zertifikat irgendwo

  5. Öffnen Sie Pidgin, gehen Sie zu Tools-> Certificates-> Add Speichern Sie nun das Zertifikat mit dem gleichen allgemeinen Namen wie der Fehler am Anfang.

Versuchen Sie schließlich, die Verbindung wiederherzustellen.


Wenn ein (funktionierender) Client auf einem anderen Computer verfügbar ist, funktioniert das Exportieren des Zertifikats von dort und das erneute Importieren, wie von Ihnen beschrieben (beide mit dem Zertifikatsmanager), ebenfalls.
Bully

2

Einfacher Weg,

  1. Schließen Sie Pidgin
  2. Finden Sie Ihre Zertifikate Ordner ( Win­dows: %appdata%\.purple) (Linux: /home/<Username>/.purple/certificates/x509/tls_peers)
  3. Löschen Sie alles im Zertifikatordner.
  4. Starten Sie pidgin neu und schließlich sollten Sie ein neues Zertifikat erhalten, das funktioniert.

PS: Windows-Benutzer, die sich nicht auskennen, geben %app­data%einfach %appdata%\.purpleIhre Adressleiste ein und drücken die Eingabetaste.


1

Ich konnte das Zertifikat umgehen, indem ich es einige Male manuell durch eine gespeicherte Kopie ersetzte. Danach funktionierte es nicht mehr und ein Upgrade auf 2.11 schien nicht zu helfen.

Wenn Sie aus dem Quellcode erstellen, sollten Sie versuchen, den Quellcode für libpurple / certificates.c zu ändern. Verschieben des PURPLE_CERTIFICATE_FATALS_MASK-Checks unter dem PURPLE_CERTIFICATE_NON_FATALS_MASK-Check, um den Benutzer aufzufordern, das Zertifikat jedoch zuzulassen, wenn es akzeptiert wird. Wahrscheinlich nicht das Sicherste, aber es hat für mich funktioniert.


1

Sie können Pidgin-developer PPA verwenden , um das Problem zu beheben. Ich habe pidgin-Pakete und libpurple von dieser Quelle installiert und mein Problem mit dem Zugriff auf Lync 2013-Ressourcen behoben. Jetzt können Zertifikate automatisch zugelassen werden (Dialogfeld anzeigen, um unbekannte Zertifikate zu akzeptieren oder abzulehnen). Hast du das versucht? Wenn Sie 15.04 verwendet haben, gibt es auch eine Problemumgehung, um einige Pakete herunterzuladen und alte durch neue zu ersetzen. Ich habe es bereits am 15.04 getestet, es funktioniert.


Es wäre hilfreich, wenn Sie mitteilen könnten, welche "wenigen Pakete" heruntergeladen und welche ersetzt werden müssen. Der Haken ist, ich habe jetzt 15.04 und Pidgin 2.10.11, aber immer noch diese berüchtigte Fehlermeldung über Zertifikate.
Jacobian

Alle diese Pakete sind in pidgin repo enthalten. Sie werden sie finden, wenn Sie versuchen, pidgin und libourple zu installieren. ODER Sie können pidgin repo mit der vorherigen Distribution zu sources.list hinzufügen und die übliche Installation ausführen. Es werden alle Abhängigkeiten automatisch installiert, aber überprüfen Sie bitte pidgin PPA , vielleicht hat es bereits Version für lebendige
user3417815

Nun, Nachrichten über Zertifikate existieren immer noch in pidgin, aber Sie können jetzt Zertifikate für jede Sitzung akzeptieren
user3417815

Also, wenn sie bereits im Repo sind, warum werden sie nicht automatisch installiert? Und können Sie bitte einige dieser Pakete nennen, damit ich sie finden kann? Und würden Sie so gerne mitteilen, wie diese Pakete installiert werden sollen (getrennt von pidgin oder mit ./configure oder sonst?), Sonst klingt "normales Installieren" zu vage.
Jacobian

Wie gesagt, es ist PPA, aber Sie können es überprüfen und werden wahrscheinlich feststellen, dass es keine Builds speziell für den 15.04 hat. Wenn Sie es also als PPA hinzufügen, können Sie wahrscheinlich keine Pakete von dort installieren. Macht es Sinn? Es tut mir leid, ich habe diese PPA vor ungefähr einem Monat überprüft. Es gab noch keine Builds für Vivid.
user3417815

0

Zwinge pidgin, neue Zertifikate herunterzuladen.

rm ~/.purple/certificates/x509/tls_peers/*

Pidgin schließen und wieder öffnen.

ls ~/.purple/certificates/x509/tls_peers/*

Nun sollte dies neu heruntergeladene Zertifikate auflisten.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.