Примушуйте Pidgin приймати недійсний сертифікат


23

Я отримую таку помилку на Pidgin 2.10.10-3.fc20 (libpurple 2.10.10).

Як змусити його прийняти недійсний сертифікат?

(Відповідно до цього звіту про помилку, він повинен бути спроможним).

введіть тут опис зображення

Ось що я зробив:

  • відвідав домен на Firefox та експортував сертифікат
  • імпортував сертифікат на інструменти Pidgin -> сертифікати
  • Імпортовано сертифікат на seahorse(GUI keyring GUI)

Будь ласка, додайте версію Ubuntu та джерело для цієї версії Pidgin.
AB

Ви це бачили ? Можливо, хтось міг би попрацювати з цією інформацією ...
Байт командир

@ByteCommander надане вами посилання - це лише макет пропозиції. Я люблю бачити , що це реалізувати, але я не розробник.
Той бразильський хлопець

Мені потрібен недійсний сертифікат. =)
AB

@AB Ви вже редагували джерело? Якщо так, я перейду до чогось іншого :)
kos

Відповіді:


13

В якості альтернативи ви можете завантажити сертифікат ssl вручну. Після цього підгін починається без проблем. Для завантаження сертифіката ви можете скористатися утилітою командного рядка openssl.

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

Коли вищевказана команда не працює з "немає однорангового сертифіката", можливо, сервер використовує STARTTLS замість SSL. У цьому випадку використовуйте таку команду:

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

Тепер скопіюйте частину, починаючи з "---- НАЧАЙТЕ СЕРТИФІКАТ ----". Якщо ви друкуєте вміст файла сертифіката, він виглядає наступним чином:

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

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

1
...і що тоді? куди я розміщую завантажений файл?
Той бразильський хлопець

8
Помістіть файл у каталог ~ / .purple / сертифікати / x509 / tls_peers / І важливо, щоб ім'я файлу було DNS-ім'ям сервера jabber. Тому, якщо ваш обліковий запис jabber є user123@jabber.ulm.ccc.de, тоді вам доведеться створити файл: ~ / .purple / сертифікати / x509 / tls_peers / jabber.ulm.ccc.de
Мартін

2
Наведений вище коментар від @Martin має бути включений у відповідь, оскільки дуже важливо зробити цю роботу. Обхід підтверджений на Kubuntu 15.04 з Pidgin 2.10.9 (libpurple 2.10.9).
Бастієн

11

Виявляється, у Pidgin 2.10.10 (libpurple 2.10.10) є помилка із сертифікатами :

У версії 2.10.10 більше неможливо підключитися до сервера XMPP, який використовує самопідписаний сертифікат SSL. Повідомлення про помилку: Сертифікат для не вдалося підтвердити. Представлений ланцюжок сертифікатів недійсний.

Підключення можливе, якщо сертифікат сервера вже знаходиться в локальному кеші (.purple \ certi \ x509 \ tls_peers). Якщо сертифікат ще не кешований (наприклад, після встановлення нового windows / pidgin), з'єднання не вдалося.

Оновлення до 2.10.11 виправляє проблему. Якщо ви використовуєте старішу версію Ubuntu, як я, ви можете використовувати PPA (12.04, 14.04 та 14.10)


2
На жаль, оновлення до pidgin 2.10.11in Ubuntu 15.04не допомагає. Я щойно перевірив це і бачу, що проблема залишається невирішеною.
Якобій

@Jacobian Ви модернізували і Pidgin, і libpurple?
Той бразильський хлопець

2
Так, це не спрацювало б для мене, поки я не видалив libpurple: sudo apt-get remove libpurple0і потім перевстановивsudo apt-get install pidgin
EoghanM

Таке відчуття, коли застарілий PPA за рік на 2 версії вище, ніж офіційний сховище.
Привіт-Ангел

2

Це є важливим , що ім'я , яке ви вказали при імпорті сертифіката через ToolsCertificatesсірниках connect serverв конфігурації облікового запису XMPP. Це єдиний спосіб, коли мені вдалося змусити його працювати з тією ж помилкою.

Підключіть ім'я сервера та сервера сертифікатів


1
Ласкаво просимо запитати Ubuntu! Чи можете ви детальніше розглянути це (EG Наведіть приклад команди)? Якщо вона хороша, і ви залишите мені записку, я повернусь і підкажу! ;-)
Fabby

1
@Fabby дякую, я додав знімок екрана, щоб зробити його більш зрозумілим, ніяких команд не потрібно.
tobigue

Редагування та повторне голосування! ;-)
Fabby

Через години, витрачені на вирішення. (15:24:43) nss: ERROR -8101: SEC_ERROR_INADEQUATE_CERT_TYPE (15:24:43) nss: subject name not verifiedЦе було рішення !! Спасибі!!
matteolel

2

Іншим вирішенням питання є імпорт імені сервера, зазначеного в помилці myserver.chat.com. Наприклад:

  1. Відкрийте браузер Firefox і введіть URL-адресу: HTTPS://mysever.chat.comви отримаєте помилку:

    Невірна помилка сертифіката

  2. Виберіть, Advancedпотім пункт Add Exception. Відкриється спливаюче вікно для сертифіката.

  3. Потім натисніть Advanced-> Details->Export

    Переглядач сертифікатів

  4. Збережіть сертифікат десь

  5. Відкрийте Pidgin, перейдіть до Tools-> Certificates-> Add Тепер збережіть сертифікат з тим самим загальним іменем, що і помилка на початку.

Нарешті, спробуйте знову підключитися.


Якщо клієнт, що працює (працює) на будь-якій іншій машині, є доступним, також експортується сертифікат звідти та імпортується знову, як ви описали (обидва за допомогою диспетчера сертифікатів).
хуліган

2

Легкий шлях,

  1. Закрити Pidgin
  2. Знайдіть папку сертифікатів ( Win­dows: %appdata%\.purple) (Linux: /home/<Username>/.purple/certificates/x509/tls_peers)
  3. Видаліть усе в папці сертифікатів.
  4. Перезапустіть pidgin і з часом ви повинні отримати новий сертифікат, який працює.

PS: Користувачі Windows, які не знайомі, %app­data%просто введіть %appdata%\.purpleваш адресний рядок і натисніть клавішу Enter.


1

Мені вдалося обійти проблему сертифіката, вручну замінивши його збереженою копією пару разів. Перестала працювати після цього, і оновлення до 2.11, здавалося, не допомогло.

Якщо ви будуєте з джерела, слід спробувати одне - змінити вихідний код для libpurple / messages.c; переміщуючи чек PURPLE_CERTIFICATE_FATALS_MASK під чеком PURPLE_CERTIFICATE_NON_FATALS_MASK, щоб сповістити користувача, але дозволити сертифікат, якщо його прийнято. Напевно, не найбезпечніше, що можна зробити, але працював на мене.


1

Ви можете використовувати PPA для розробників Pidgin для його вирішення. Я встановив пакунки pidgin і libpurple з цього джерела, і це вирішило мою проблему з доступом до ресурсів Lync 2013. Тепер він може автоматично дозволити сертифікати (показати діалогове вікно, щоб прийняти або відхилити невідомий сертифікат). Ви пробували це? Якщо ви використовували 15.04, також існує рішення, як завантажити декілька пакетів та замінити старі на нові. Я протестував це 15.04, він працює.


Було б корисно, якби ви могли поділитися тим, які «кілька пакунків» завантажити та чим замінити. Улов, чи є у мене зараз 15.04 та pidgin 2.10.11, але все ще є це сумнозвісне повідомлення про помилку щодо сертифікатів.
Якобій

Всі ці пакети в pidgin repo, ви знайдете їх, коли спробуєте встановити pidgin та libourple АБО ви можете додати pidgin repo з попередньою версією дистрибутива до source.list та виконати звичайну установку, вона встановить усі залежності автоматично, але, будь ласка, перевірте pidgin PPA , можливо, у нього вже є версія для
vivid

Що ж, повідомлення про сертифікати все ще існують у піджіні, але тепер ви зможете приймати сертифікат для кожного сеансу
user3417815

Отже, якщо вони вже є в репо, чому вони не встановлюються автоматично? І чи можете ви, будь ласка, назвати деякі з цих пакунків, щоб я міг їх знайти? І ви б так люб'язно поділитися тим, як слід встановити ці пакунки (окремо від pidgin або за допомогою ./configure чи іншого?), Інакше "звичайна установка" звучить невиразно.
Якобій

Як я вже сказав, це PPA, але ви можете перевірити це, і, ймовірно, виявите, що він не має збірок, особливо для 15.04. Тож якщо ви додасте його як PPA, ви, ймовірно, не зможете встановити жоден пакет звідти. Це робить сенс? Вибачте, перевірив цей PPA близько місяця тому, ще не було жодних збірок для яскравих.
користувач3417815

0

Примушуйте модуль завантажувати нові сертифікати.

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

Закрийте та повторно відкрийте модуль.

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

Тепер у цьому списку повинні бути нещодавно завантажені сертифікати.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.