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

Самоподписанный сертификат в цепочке сертификатов

Я создаю правильную цепочку сертификатов. Мой сертификат выдает класс 2, выданный StartSSL.

Вот что я поместил в свой ssl.crt:

my cert
https://www.startssl.com/certs/ca.pem
https://www.startssl.com/certs/class2/sha1/pem/sub.class2.client.sha1.ca.pem
https://www.startssl.com/certs/class2/sha1/pem/sub.class2.server.sha1.ca.pem

(Я поместил ссылки, чтобы вы могли видеть, где я взял файлы)

Если я сделаю openssl s_client -connect multiformeingegno.it:993 Я получил:

Verify return code: 19 (self signed certificate in certificate chain)
---
* OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE AUTH=PLAIN AUTH=LOGIN] Dovecot (Ubuntu) ready

И если я попытаюсь добавить свою учетную запись в Gmail, вот что я получу:

"Missing +OK response upon connecting to the server: * OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE AUTH=PLAIN AUTH=LOGIN] Dovecot (Ubuntu) ready."

Почему написано самоподписанный сертификат?

На определенном уровне самозаверяющий сертификат всегда будет появляться в цепочке сертификатов - особенно в случае с сертификатами CA, которые по определению являются самоподписанными, но являются доверенными. Вы видите это сообщение, потому что сертификат CA StartSSL является самоподписанным.

Ваш файл цепочки также неверен - вам не нужны сертификаты клиентов. Файл должен быть в следующем порядке, сверху вниз, ссылки на эквивалентный сертификат StartSSL, предполагая проверку класса 2 (документация Вот):

  1. Закрытый ключ (необязательно)
  2. Ваш публичный сертификат
  3. Сертификат среднего уровня 2
  4. Сертификат корневого ЦС

Ваша ошибка может быть связана с использованием неправильного порта, как обсуждалось Вот. Для справки, порт 995 используется для соединений POP SSL, порт 993 используется для IMAP SSL (ссылка).

Если вы пытаетесь настроить доступ Gmail к какой-либо сторонней учетной записи pop3, убедитесь, что вы используете порт 995, если это imap, то это 993.

Чтобы убедиться, что ваш SSL установлен и работает, вы можете использовать openssl со следующей командой:

openssl s_client -showcerts -connect  mail.yourserver.com:995

И если все в порядке, openssl не будет выводить никаких сообщений об ошибках.