Неизвестный сертификат са. Настройка приема почты TheBat в SSL-соединении

Ошибка The Bat! "Неизвестный сертификат CA ":

Сервер не представил корневой сертификат в сессии и соответствующий корневой сертификат не найден в адресной книге.

Это соединение не может быть секретным. Пожалуйста, свяжитесь с администратором Вашего сервера.

Возникает в случае, когда The Bat! не имеет нужного SSL-сертификата при получении почты.

Это может возникать в различных ситуациях и причина в том, что в отличие от большинства программ, использующих Windows-хранилище сертификатов, у The Bat! - своё. И если по каким-то какая-то программа добавит важный сертификат "стандартным" методом (лишь в Windows-хранилище), то The Bat! про это не узнает и ориентируясь на собственное - выдаст ошибку "Неизвестный сертификат СА ".

RootCA.ABD и TheBat.ABD

Самый простой способ попытаться побороть ошибку "Неизвестный сертификат CA " - просто удалить хранилище сертификатов The Bat! , чтобы он при следующей загрузке сделал новое. Файлы "RootCA.ABD " и "TheBat.ABD " находятся в основном каталоге The Bat!, который можно узнать нажав/посмотрев "Свойства - Настройка - Система - Почтовый каталог ".

Приветствие TLS не завершено. Недействительный сертификат сервера (Поставщик цепочки этого S/MIME сертификата не найден)

Первый способ может не помочь и вы получите ту же ошибку "Неизвестный сертификат СА ", а в журнале работы почтового ящика будет что-то типа:

>22.03.2013, 13:39:53: FETCH - Свойства сертификата: 16B0A68A00000000D49E, алгоритм: RSA (2048 бит), Действителен с: 21.12.2012 16:05:32, по: 17.01.2014 15:15:46, на хосты в кол-ве 17 шт.: Yandex Mail Service, pop.yandex.ru, pop.yandex.com, pop.yandex.by, pop.yandex.kz, pop.yandex.ua, pop.yandex.com.tr, pop.narod.ru, pop.ya.ru, pop3.yandex.ru, pop3.yandex.com, pop3.yandex.by, pop3.yandex.kz, pop3.yandex.ua, pop3.yandex.com.tr, pop3.narod.ru, pop3.ya.ru.
>22.03.2013, 13:39:53: FETCH - Владелец: RU, Russia, Moscow, Yandex, ITO, Yandex Mail Service, Этот e-mail адрес защищен от спам-ботов, для его просмотра у Вас должен быть включен Javascript .
>22.03.2013, 13:39:53: FETCH - Поставщик: generated by avast! antivirus for SSL scanning, avast! Mail Scanner, avast! Mail Scanner Root.
!22.03.2013, 13:39:53: FETCH - Приветствие TLS не завершено. Недействительный сертификат сервера (Поставщик цепочки этого S/MIME сертификата не найден).

Главное здесь для нас:

Поставщик: generated by avast! antivirus for SSL scanning, avast! Mail Scanner, avast! Mail Scanner Root .

В частности, такая проблема, когда "поставщик сертификата неизвестен" (в нашем случае - "avast! Mail Scanner Root ") получается у тех, кто использует Avast версий 8 и новее, где он научился проверять почту на SSL-шифрованных соединениях, а The Bat! про это (и про Avast ) не в курсе.

Для исправления нужно добавить сертификат издателя (issuer) "avast! Mail Scanner Root " в доверенные корневые сертификаты The Bat!, т.к. сам Аваст его добавил в доверенные(trusted) лишь в Windows-хранилище сертификатов, а, как писалось выше, у The Bat! оно своё. Для этого выполняем команду "certmgr.msc", находим и экспортируем "avast! Mail Scanner Root " из "Доверенные корневые центры сертификации", либо просто берём тут ниже прикреплённый файл (это и есть сертификат Аваст).

После импортируем этот сертификат в нужный ящик. Для этого придётся выполнить длинную и неочевидную последовательность действий (привет взебатописателям!):

1. Добавить сам сертификат: Ящик - Свойства почтового ящика - Общие сведения - Сертификаты - Импортировать - выбираем нужный сертификат (например, avast!MailScannerRoot.cer )

2. Добавить добавленный сертификат в доверенные (см. картинку): Просмотреть - Путь сертификации - Добавить к доверенным

После этого ошибка "Неизвестный сертификат CA " точно исчезнет. Не навсегда - до следующего обновления Windows, The Bat! , антивируса или ещё чего-нибудь...



Настройка приема почты TheBat в SSL-соединении

1. Скачиваем и сохраняем локально (т.е. на своем компьютере в какой-либо папке).


2. Идем: ящик -> свойства почтового ящика ->общие сведения -> сертификаты

3. -> импортировать.

4. Выбираем сохраненный файл сертификата cacert.pem. Открыть.



5. Кликаем мышью по появившейся строке "Kinetics Certificate Authority", далее кликаем "Просмотреть".


6. Видим "Этот сертификат недействителен". Кликаем "Путь сертификации".


7. Кликаем мышью по "Kinetics Certificate Authority" и "Добавить к доверенным".

6. Да.


7. Для самопроверки: сертификат должен быть действительным. OK. OK. OK.


8. Для самопроверки: в адресной книге в папке Trusted Root CA должна появиться запись "Kinetics Certificate Authority".

9. Выбираем: ящик -> свойства почтового ящика -> транспорт -> соединение
-> безопасное на спец. порт (в окне “Порт” должно появиться 995).
Теперь - все. После чего SSL - соединение будет работать.

Внимание! В поле почт. сервера должно стоять значение ns..85.127.69),
иначе при заказанном SSL-соединении почтовый клиент вообще не соединится с сервером.

При соединении с сервером в журнале работы почтового ящика будете видеть подобные записи:
date, time: FETCH - Получение новой почты
date, time: FETCH - Начинаю приветствие TLS
date, time: FETCH - Свойства сертификата: 02, алгоритм: RSA (1024 бит), Действителен с: 27.11.2012 9:40:26, по: 22.11.2032 9:40:26, на хосты в кол-ве 1 шт.: ns.сайт.
date, time: FETCH - Владелец: RU, Novosibirsk, Institute of Chemical Kinetics and Combustion, IT-group, ns..nsc.ru.
date, time: FETCH - Root: RU, Novosibirsk, Novosibirsk, Institute of Chemical Kinetics and Combustion, IT-group, Kinetics Certificate Authority, nina@сайт
date, time: FETCH - Приветствие TLS завершено
date, time: FETCH - Соединение с POP3 сервером прошло удачно
date, time: FETCH - Аутентификация прошла успешно (Обычный метод)

Для справки: Kinetics Certificate Authority - агенство по выписке SSL-сертификатов, созданное в ИХКГ СО РАН.

Для IMAP- протокола все аналогично.

Это пример сертификата - выписанный для localhost и подписанный нашим CA. Если вопрос стоит только о шифровке каналов при передаче внутри ЛС (и вообще для своих пользователей где угодно), то можно использовать именно его. Если вам кроме этого нужно доказывать внешним отправителям что "вы это вы", то можно получить серверные сертификаты у общепризнанных CA - Thawte, VeriSign и т.п. Общепризнанность выражается в том, что подлинность подписей на выданных ими сертификатах можно проверить по встроенным в почтовые агенты и браузеры сертифкатам этих CA. Т.е. пользовательские программы доверяют им по умолчанию (доверяют ли пользователи - это другой вопрос). Сертификаты этих CA платные. Во многих случаях используются самовыданные сертификаты или сертификаты не включенных в списки доверенных CA (например, от российских CryptoVendors или от ). В этом случае пользовательская программа выдает окошко с вопросом, доверяет ли пользователь этому центру сертификации.

Если я правильно понимаю, после того как я получу сертификат для своего сервера и установлю его на нем, из него я должен буду создать сертификаты доверия - которые я внедрю в почтовые клиенты на конечных станциях, правильно?

Не совсем так. Не "сертификаты доверия". При подключении к вашему серверу по SSL/TLS клиентская программа на стороне пользователя получает сертификат сервера (в этом сертификате в частности содержится открытый ключ, которым подписывается симметричный сессионный ключ шифруемого соединения) и пытается проверить подлинность подписи CA на нем. Если сертификата этого издателя (центра сертификации, CA) в списке доверенных нет, то программа спросит у клиента - доверять ли этому издателю, и как доверять - на время этой конкретной сессии, или до конца срока действия сертфиката. Если пользователь выберет второе, то сертификат издателя помещается в список доверенных, и больше таких вопросов задаваться не будет. Именно это и есть "внедрение в почтовые клиенты", о котором вы говорите. Кроме подлинности подписи сравнивается доменное имя, указанное в подписываемом субьекте, с тем доменным именем, к которому клиент подключается. Если они не совпадают, то выдается соответствующее предупреждение (также как при проверке ~S/MIME подписи в Email сравнивается адрес отправителя и адрес в подписывающем сертификате). И проверяется, не истёк ли срок действия сертификата.

Кстати, далеко не все почтовые клиенты делают проверку сертификата и выдают какие-либо сообщения. Некоторые принимают любые сертификаты молча (в отличие от браузеров).

Где я могу получить сертификат для своего сервера, или его можно как-то создать самому?

Как было сказано выше, вы можете получить их в центрах сертификации. Каком именно - зависит от необходимого уровня доверия. Можно делать самовыдачу (с помощью OpenSsl , например), так делает абсолютно подавляющее владельцев серверов. Или можно получить сертификат с подписью CA, не включенных в списки доверенных по умолчанию. Если речь только о шифровке канала, а не о доверии, то в большинстве случаев вам хватит нашего server.pem.

Что за ключ в eserv3.ini SSLverifyClient - как он работает и для чего?

Там ведь написано в подсказке к этому ключу в веб-интерфейсе?

При регистрации Есерв-а, устанавливались сертификаты, неужели нужно для каждого пользователя создавать свой сертификат?

Нет. Пользователям сертификаты нужны только в случае, если сервер также проверяет пользовательский сертификат (в большинстве случаев это не так). Или для ~S/MIME-подписей писем.

TheBat выдает "Приветствие TLS не завершено. Имя сервера ("123.123.123.3") не соответствует сертификату." смотрю в сертификат: имя сервера: localhost ...

Если TheBat не выдает пользователю запрос, в котором можно игнорировать несоответствие имени сервера и имени в сертификате (о чем писалось выше), то остается получить сертификат с указанным именем сервера (в вашем случае 123.123.123.3, хотя лучше и клиента настроить на доменное имя вместо

Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: