Zmusić Pidgin do przyjęcia nieprawidłowego certyfikatu

23

Otrzymuję następujący błąd na Pidgin 2.10.10-3.fc20 (libpurple 2.10.10).

Jak mogę zmusić go do zaakceptowania nieważnego certyfikatu?

(Zgodnie z tym raportem błędu powinien być w stanie).

wprowadź opis zdjęcia tutaj

Oto co zrobiłem:

  • odwiedził domenę w Firefoksie i wyeksportował certyfikat
  • zaimportowałem certyfikat do narzędzi Pidgin -> certyfikaty
  • Zaimportowano certyfikat seahorse(GUI z kluczem gnome)
Ten brazylijski facet
źródło
Dodaj wersję Ubuntu i źródło tej wersji Pidgin.
AB
Widziałeś to ? Może ktoś mógłby pracować z tymi informacjami ...
Bajt Dowódca
@ByteCommander podany przez Ciebie link to tylko makieta propozycji. Ja uwielbiam aby zobaczyć je realizować, ale nie jestem programistą.
Ten Brazylijczyk
Potrzebuję nieważnego certyfikatu. =)
AB
@AB Czy edytowałeś już źródło? Jeśli tak, przeniosę się na coś innego :)
kro

Odpowiedzi:

13

Alternatywnie możesz pobrać certyfikat ssl ręcznie. Następnie pidgin zaczyna się bez problemów. Aby pobrać certyfikat, możesz użyć narzędzia wiersza polecenia openssl.

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

Gdy powyższe polecenie zakończy się niepowodzeniem i „nie ma dostępnego certyfikatu równorzędnego”, być może serwer używa STARTTLS zamiast SSL. W takim przypadku użyj następującego polecenia:

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

Teraz skopiuj część zaczynającą się od „---- ROZPOCZNIJ CERTYFIKAT ----”. Jeśli wydrukujesz zawartość pliku certyfikatu, wygląda to tak:

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

-----BEGIN CERTIFICATE-----
MIIFXDCCA0QCCQCa5jxvwccm0DANBgkqhkiG9w0BAQUFADBwMQswCQYDVQQGEwJE
RTEMMAoGA1UEBxMDVWxtMRUwEwYDVQQLEwxDQ0MgRXJmYSBVbG0xGjAYBgNVBAMT
EWphYmJlci51bG0uY2NjLmRlMSAwHgYJKoZIhvcNAQkBFhFqYWJiZXJAdWxtLmNj
...
3EIpMVk3V1djyj0FEuDaG/o+6BTLCiIMiIUFtbpVz8YZChHbv8ObMJ5JpUIkDfKZ
si1YZKpUYwpVXgTCUml67lArx/sq95OQsDSO3fR1Ch0=
-----END CERTIFICATE-----
Jaskółka oknówka
źródło
1
...I co wtedy? gdzie mam umieścić pobrany plik?
Ten Brazylijczyk
8
Umieść plik w katalogu ~ / .purple / certyfikaty / x509 / tls_peers / Ważne jest, aby nazwa pliku była nazwą DNS serwera Jabber. Dlatego jeśli twoje konto Jabber to uż[email protected], musisz utworzyć plik: ~ / .purple / certyfikaty / x509 / tls_peers / jabber.ulm.ccc.de
Martin
2
Powyższy komentarz @Martin powinien zostać dołączony do odpowiedzi, ponieważ bardzo ważne jest, aby to zadziałało. Obejście potwierdzone na Kubuntu 15.04 z Pidgin 2.10.9 (libpurple 2.10.9).
Bastien
11

Okazuje się, że w Pidgin 2.10.10 (libpurple 2.10.10) występuje błąd z certyfikatami :

W wersji 2.10.10 nie jest już możliwe połączenie z serwerem XMPP, który korzysta z samopodpisanego certyfikatu SSL. Komunikat o błędzie to: Nie można zweryfikować certyfikatu dla. Przedstawiony łańcuch certyfikatów jest nieprawidłowy.

Połączenie jest możliwe, jeśli certyfikat serwera znajduje się już w lokalnej pamięci podręcznej (.purple \ certyfikaty \ x509 \ tls_peers). Jeśli certyfikat nie jest jeszcze buforowany (np. Po nowej instalacji systemu Windows / pidgin) połączenie nie powiedzie się.

Aktualizacja do 2.10.11 rozwiązuje problem. Jeśli używasz starszej wersji Ubuntu, takiej jak ja, możesz użyć PPA (12.04, 14.04 i 14.10)

Ten brazylijski facet
źródło
2
Niestety aktualizacja do pidgin 2.10.11in Ubuntu 15.04nie pomaga. Właśnie to sprawdziłem i przekonałem się, że problem pozostaje nierozwiązany.
Jacobian
@Jacobian Czy zaktualizowałeś zarówno Pidgin, jak i libpurple?
Ten Brazylijczyk
2
Tak, nie zadziałałoby dla mnie, dopóki nie sudo apt-get remove libpurple0sudo apt-get install pidgin
usunę
To uczucie, gdy roczna przestarzała PPA jest o 2 wersje wyższa niż oficjalne repozytorium.
Cześć Anioł
2

Wydaje się ważne, aby nazwa wprowadzana podczas importowania certyfikatu przez Tools→ była Certificateszgodna z connect serverkonfiguracją konta XMPP. To jedyny sposób, w jaki udało mi się sprawić, by działał z tym samym błędem.

Połącz serwer i nazwę hosta certyfikatu powinny być zgodne

zmęczenie
źródło
1
Witamy, aby zapytać Ubuntu! Czy możesz rozwinąć tę kwestię (EG Podaj przykładowe polecenie)? Jeśli to dobry, a ty zostawisz mi wiadomość, wrócę i oddam głos! ;-)
Fabby
1
@ Fabby dzięki, dodałem zrzut ekranu, aby był bardziej przejrzysty, nie potrzeba żadnych poleceń.
tobigue
Edycja i głosowanie up! ;-)
Fabby
Po godzinach spędzonych na rozwiązaniu (15:24:43) nss: ERROR -8101: SEC_ERROR_INADEQUATE_CERT_TYPE (15:24:43) nss: subject name not verifiedTo było rozwiązanie !! Dzięki!!
matteolel
2

Innym obejściem jest zaimportowanie nazwy serwera określonej w błędzie, np myserver.chat.com. Na przykład:

  1. Otwórz przeglądarkę Firefox i wpisz adres URL: HTTPS://mysever.chat.compojawi się błąd:

    Nieprawidłowy błąd certyfikatu

  2. Wybierz, Advanceda następnie opcję Add Exception. Otworzy się okienko wyskakujące dla certyfikatu.

  3. Następnie kliknij Advanced-> Details->Export

    Przeglądarka certyfikatów

  4. Zapisz gdzieś certyfikat

  5. Otwórz Pidgin, przejdź do Tools-> Certificates-> Add Teraz zapisz certyfikat o tej samej wspólnej nazwie co błąd na początku.

Na koniec spróbuj połączyć się ponownie.

Y Melo
źródło
Jeśli dostępny jest (działający) klient na innym komputerze, eksportowanie stamtąd certyfikatu i importowanie go ponownie, jak opisano (oba przy użyciu menedżera certyfikatów), również działa.
znęcać się
2

Łatwy sposób,

  1. Zamknij Pidgin
  2. Znajdź folder Certyfikaty ( Win­dows: %appdata%\.purple) (Linux: /home/<Username>/.purple/certificates/x509/tls_peers)
  3. Usuń wszystko z folderu certyfikatu.
  4. Uruchom ponownie pidgin i ostatecznie powinieneś dostać nowy certyfikat, który działa.

PS: Użytkownicy systemu Windows, którzy nie są zaznajomieni z %app­data%po prostu wpisz %appdata%\.purpleswój pasek adresu i naciśnij klawisz Enter.

Nullpointer
źródło
1

Byłem w stanie obejść problem z certyfikatem, kilkakrotnie ręcznie zastępując go zapisaną kopią. Po tym przestałem działać, a aktualizacja do 2.11 nie pomogła.

Jeśli budujesz ze źródła, jedną rzeczą jest próba modyfikacji kodu źródłowego dla libpurple / certyfikaty.c; przenoszenie testu PURPLE_CERTIFICATE_FATALS_MASK w polu PURPLE_CERTIFICATE_NON_FATALS_MASK, aby monitować użytkownika, ale zezwolić na certyfikat, jeśli zostanie zaakceptowany. Prawdopodobnie nie najbezpieczniejsza rzecz do zrobienia, ale działała dla mnie.

użytkownik591856
źródło
1

Możesz użyć PPA dla programistów Pidgin, aby go rozwiązać. Zainstalowałem pakiety pidgin i libpurple z tego źródła i rozwiązało to mój problem z dostępem do zasobów programu Lync 2013. Teraz może automatycznie zezwalać na certyfikaty (pokaż okno dialogowe, aby zaakceptować lub odrzucić nieznany certyfikat). Próbowałeś tego? Jeśli korzystałeś z wersji 15.04, istnieje również obejście umożliwiające pobranie kilku pakietów i zastąpienie starych nowymi. Testowałem go już 15.04, działa.

użytkownik3417815
źródło
Byłoby pomocne, gdybyś mógł udostępnić, co „kilka pakietów” do pobrania, a które wymienić. Złap, mam teraz 15.04 i pidgin 2.10.11, ale nadal mam ten notoryczny komunikat o błędzie dotyczący certyfikatów.
Jacobian
Wszystkie te pakiety w repozytorium pidgin, znajdziesz je przy próbie zainstalowania pidgin i libourple LUB możesz dodać repozytorium pidgin z poprzednią wersją distro do sources.list i wykonać zwykłą instalację, zainstaluje wszystkie zależności automatycznie, ale proszę sprawdzić PPA pidgin , może ma już wersję vivid
user3417815
Cóż, wiadomości o certyfikatach nadal istnieją w pidgin, ale teraz będziesz mógł zaakceptować certyfikat dla każdej sesji
użytkownik3417815
więc jeśli są już dostępne w repozytorium, dlaczego nie są instalowane automatycznie? Czy mogę wymienić niektóre z tych paczek, abym mógł je zlokalizować? I czy byłbyś tak uprzejmy, aby podzielić się tym, w jaki sposób należy zainstalować te pakiety (oddzielnie od pidgin lub przy użyciu ./configure, czy inaczej?), W przeciwnym razie brzmi to „zwykła instalacja”.
Jacobian
Jak już powiedziałem, jest to PPA, ale możesz to sprawdzić i prawdopodobnie okaże się, że nie ma kompilacji specjalnie na 15.04. Więc jeśli dodasz go jako PPA, prawdopodobnie nie będziesz w stanie zainstalować z niego żadnych pakietów. Czy to robi wrażenie? Przepraszam, sprawdziłem ten PPA około miesiąc temu, wciąż nie było kompilacji dla vivid.
user3417815,
0

Zmuś pidgin do pobierania nowych certyfikatów.

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

Zamknij i ponownie otwórz pidgin.

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

Teraz powinno to zawierać listę nowo pobranych certyfikatów.

Binoy
źródło