Я установил последнюю версию 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 и импортировал в Pidgin ...
Но это ничего не меняет ... все равно получая ту же отладочную информацию.
Так что я думаю, что я не могу правильно настроить приложение

Есть предложения как с этим бороться?

2 ответа2

1

Отладочное сообщение (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 на достаточно низкую, поддерживаемую сервером.

-1

Pidgin требует от вас установить сертификат на сервере. Например, используя ejabberd, вы должны отредактировать ejabberd.yml и добавить опцию certfile

listen:
  -
    port: 5222
    ip: "::"
    module: ejabberd_c2s
    certfile: "c:/ejabberdserver/server_new.pem"

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .