Назад | Перейти на главную страницу

Получение цепочки SSL-сертификатов с jabber-сервера

пытаясь подключить мой jabber-клиент (pidgin) к jabber-серверу с самоподписанным сертификатом, я получаю ошибку «невозможно проверить сертификат».

Поскольку невозможно указать клиенту не проверять цепочку, я хотел бы получить цепочку сертификатов, чтобы импортировать ее туда. Поэтому я использую:

openssl s_client -connect my.jabber.server.net:5222 </dev/null

Получаю такой ответ:

openssl s_client -connect cup1.sprachdienst.fraunhofer.de:5222

> CONNECTED(00000003) 140472458057376:error:140790E5:SSL
> routines:SSL23_WRITE:ssl handshake failure:s23_lib.c:177:
> --- no peer certificate available
> --- No client certificate CA names sent
> --- SSL handshake has read 0 bytes and written 213 bytes
> --- New, (NONE), Cipher is (NONE) Secure Renegotiation IS NOT supported Compression: NONE Expansion: NONE
> ---

Почему я не получаю цепочку сертификатов, а мой jabber-клиент получает?

Решение: Jabber требует starttls:

openssl s_client -connect my.jabber.server.net:5222 </dev/null -starttls xmpp

возвращает сертификат

Простой способ,

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

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

У меня сработало создание самозаверяющего сертификата с помощью следующей команды:

openssl req -x509 -newkey rsa:4096 -sha256 -days 3650 -nodes -keyout example.key -out example.crt -subj /CN=example.com -addext subjectAltName=DNS:example.com,DNS:example.net,IP:10.0.0.1

(Команда найдена Вот)