Pidgin для XMPP - сбой рукопожатия SSL
Я установил последнюю версию Ubuntu 18.04 и пытаюсь подключиться к нашему внутреннему XMPP-серверу (который довольно старый и у меня нет доступа) с помощью Pidgin, как раньше.
Но я не могу подключиться... Получение SSL Handshake Failed
ошибка.
Вот что я получаю в окне отладки:
(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
(заменены SERVER_NAME и SERVER_IP)
Перепробовал все возможные настройки аккаунта... но вроде ничего не работает...
Какие-либо предложения?
РЕДАКТИРОВАТЬ (2018-05-07)
Похоже, мой сервер использует устаревший сертификат STARTTLS.
Я следовал инструкциям здесь: https://askubuntu.com/questions/610585/force-pidgin-to-acept-an-invalid-certificate
Скачал сертификат с openssl
и импортируется в пиджин...
Но это ничего не меняет... все равно получая ту же отладочную информацию.
Я полагаю, мне не удалось правильно настроить приложение
Есть предложения как с этим бороться?
2 ответа
Отладочное сообщение (10:37:11) nss: Handshake failed (-12279)
здесь ключ Из https://www-archive.mozilla.org/projects/security/pki/nss/ref/ssl/sslerr.html это относится к:
SSL_ERROR_UNSUPPORTED_VERSION -12279 "Пир использует неподдерживаемую версию протокола безопасности."
В клиентском сокете это означает, что удаленный сервер попытался договориться об использовании версии SSL, которая не поддерживается библиотекой NSS, возможно, неверный номер версии. В сокете сервера это означает, что удаленный клиент запросил использование версии SSL, более старой, чем версия 2.
Попробуйте использовать плагин NSS Preferences (из списка друзей, Инструменты-> Плагины), чтобы изменить минимальную версию TLS/SSL на достаточно низкую, которую поддерживает сервер.
Pidgin requires you to setup certificate on the server. For example using ejabberd, you must edit the ejabberd.yml and add the certfile
вариант
listen:
-
port: 5222
ip: "::"
module: ejabberd_c2s
certfile: "c:/ejabberdserver/server_new.pem"