Force Pidgin принять недействительный сертификат

Я получаю следующую ошибку в Pidgin 2.10.10-3.fc20 (libpurple 2.10.10).

Как я могу заставить его принять недопустимый сертификат?

(В соответствии с этим сообщением об ошибке он должен быть способен).

Вот что я сделал:

посетил домен на Firefox и экспортировал сертификат, импортированный сертификат на инструменты Pidgin-> сертификаты Импортировал сертификат в seahorse (графический интерфейс gnome keyring)
1
задан 17 April 2015 в 22:04

7 ответов

В качестве альтернативы вы можете загрузить сертификат ssl вручную. Впоследствии пиджин начинает без проблем. Чтобы загрузить сертификат, вы можете использовать утилиту командной строки openssl.

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

Когда вышеприведенная команда завершилась неудачей с «отсутствующим сертификатом peer», возможно, сервер использует STARTTLS вместо SSL. В этом случае используйте следующую команду:

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

Теперь скопируйте часть, начинающуюся с «---- BEGIN CERTIFICATE ----». Если вы печатаете содержимое файла сертификата, оно выглядит следующим образом:

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

-----BEGIN CERTIFICATE-----
MIIFXDCCA0QCCQCa5jxvwccm0DANBgkqhkiG9w0BAQUFADBwMQswCQYDVQQGEwJE
RTEMMAoGA1UEBxMDVWxtMRUwEwYDVQQLEwxDQ0MgRXJmYSBVbG0xGjAYBgNVBAMT
EWphYmJlci51bG0uY2NjLmRlMSAwHgYJKoZIhvcNAQkBFhFqYWJiZXJAdWxtLmNj
...
3EIpMVk3V1djyj0FEuDaG/o+6BTLCiIMiIUFtbpVz8YZChHbv8ObMJ5JpUIkDfKZ
si1YZKpUYwpVXgTCUml67lArx/sq95OQsDSO3fR1Ch0=
-----END CERTIFICATE-----
12
ответ дан 23 May 2018 в 21:17
  • 1
    ...и что потом? где я могу поместить загруженный файл? – Dollynho 15 May 2015 в 16:11
  • 2
    Поместите файл в каталог ~ / .purple / certificates / x509 / tls_peers / И важно, чтобы имя файла было DNS-именем сервера jabber. Поэтому, если ваша учетная запись jabber - user123@jabber.ulm.ccc.de, тогда вы должны создать файл: ~ / .purple / certificates / x509 / tls_peers / jabber.ulm.ccc.de – Martin 16 May 2015 в 19:19
  • 3
    Вышеупомянутый комментарий @Martin должен быть включен в ответ, так как очень важно сделать эту работу. Обходное решение подтверждено на Kubuntu 15.04 с Pidgin 2.10.9 (libpurple 2.10.9). – Bastien 2 October 2015 в 14:25

Другим обходным решением является импорт имени сервера, указанного в ошибке, например myserver.chat.com. Например:

Откройте браузер Firefox и поместите URL-адрес: HTTPS://mysever.chat.com, вы получите сообщение об ошибке: выберите опцию Advanced, затем Add Exception. Открывается всплывающее окно для сертификата. Затем нажмите Advanced -> Details -> Export Сохраните сертификат где-нибудь. Откройте Pidgin, перейдите к Tools -> Certificates -> Add. Теперь сохраните сертификат с тем же общим именем, что и ошибка в начало.

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

2
ответ дан 23 May 2018 в 21:17
  • 1
    Если (рабочий) клиент на любом другом компьютере доступен, экспорт сертификата с него и импорт его снова, как вы описали (оба с помощью диспетчера сертификатов) также работают. – bully 1 June 2016 в 14:27

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

1
ответ дан 23 May 2018 в 21:17
  • 1
    Было бы полезно, если бы вы могли поделиться тем, что «несколько пакетов», скачать и что заменить. Уловка, у меня теперь есть 15.04 и pidgin 2.10.11, но все еще есть это печально известное сообщение об ошибках. – Jacobian 22 August 2015 в 22:56
  • 2
    Все эти пакеты в pidgin repo, вы найдете их при попытке установить pidgin и libourple. Или вы можете добавить pidgin-репо с предыдущей версией дистрибутива в sources.list и сделать обычную установку, он автоматически установит все зависимости, но, пожалуйста, проверьте pidgin PPA , возможно, у него уже есть версия для ярких – user3417815 27 August 2015 в 14:49
  • 3
    Ну, сообщения о сертификатах все еще существуют в pidgin, но теперь вы сможете принимать сертификат для каждой сессии – user3417815 27 August 2015 в 14:50
  • 4
    поэтому, если они уже существуют в репо, почему они не установлены автоматически? И можете, пожалуйста, назвать некоторые из этих пакетов, чтобы я мог их найти? И вы бы так любезны поделиться тем, как эти пакеты должны быть установлены (отдельно от pidgin или использовать ./configure или иначе?), В противном случае «обычная установка» звучит неопределенно. – Jacobian 27 August 2015 в 17:55
  • 5
    Как я уже сказал, это PPA, но вы можете проверить это и, вероятно, обнаружите, что у него нет сборок, особенно для 15.04. Поэтому, если вы добавите его как PPA, вы, вероятно, не сможете устанавливать какие-либо пакеты оттуда. Это имеет смысл? Извините, проверил этот PPA месяц назад, все еще не было сборных для ярких. – user3417815 28 August 2015 в 21:44

Кажется важным, чтобы имя, которое вы вводите при импорте сертификата через Инструменты → Сертификаты, соответствует connect server в конфигурации учетной записи XMPP. Это единственный способ заставить его работать для той же ошибки.

1
ответ дан 23 May 2018 в 21:17
  • 1
    Добро пожаловать, чтобы спросить Ubuntu! Не могли бы вы рассказать об этом (E.G. Предоставить примерную команду)? Если он хороший, и вы оставите мне записку, я вернусь и вернусь! ; -) – Fabby 14 July 2015 в 00:37
  • 2
    @Fabby спасибо, я добавил скриншот, чтобы сделать его более понятным, никаких команд не требуется. – tobigue 16 July 2015 в 17:05
  • 3
    Изменить и голосование! ; -) – Fabby 16 July 2015 в 19:41

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

Если вы создаете исходный код, попробуйте изменить исходный код для libpurple / certificates.c; перемещая проверку PURPLE_CERTIFICATE_FATALS_MASK с помощью проверки PURPLE_CERTIFICATE_NON_FATALS_MASK, чтобы запросить пользователя, но разрешить сертификат, если он принят. Наверное, это не самая безопасная вещь, но я работал на меня.

1
ответ дан 23 May 2018 в 21:17

Легкий путь,

Закрыть Pidgin Найдите папку с сертификатами (Win­dows: %appdata%\.purple) (Linux: /home/<Username>/.purple/certificates/x509/tls_peers) Удалите все в папке сертификата. Перезапустите pidgin, и в итоге вы должны получить новый сертификат, который работает.

P.S: Пользователи Windows, которые не знакомы с %app­data%, просто введите %appdata%\.purple в свою адресную строку и нажмите enter.

1
ответ дан 23 May 2018 в 21:17

Заставить pidgin загрузить новые сертификаты.

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

Закрыть и снова открыть pidgin.

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

Теперь это должно отображать только что загруженные сертификаты.

0
ответ дан 23 May 2018 в 21:17

Другие вопросы по тегам:

Похожие вопросы: