Перейти к основному содержанию
 

Exchange 2016 — не удалось проверить отзыв сертификата

Exchange

Купили сертификат для домена, загрузили в сервер Exchange 2016. А сервер пишет:

Не удалось проверить отзыв

Пример загрузки PFX сертификата Fabrikam.pfx с паролем "P@ssw0rd1":

Import-ExchangeCertificate -FileData ([System.IO.File]::ReadAllBytes('\\FileServer01\Data\Fabrikam.pfx')) -Password (ConvertTo-SecureString -String 'P@ssw0rd1' -AsPlainText -Force)

https://docs.microsoft.com/ru-ru/exchange/architecture/client-access/import-certificates?view=exchserver-2016

crl

Почему это произошло?

Такая ошибка произошла потому, что Exchange сервер не имеет доступ в Интернет и не может проверить состояние сертификата, отозван он или нет.

Что делать?

Во-первых, можно ничего не делать. Ну не проверяется отзыв, да и ладно. При невозможности проверить отзыв сертификат считается действительным.

Во-вторых, можно дать серверу Exchange доступ в Интернет. Тогда Exchange сможет проверить списки отзыва. Но иногда нет возможности дать серверу доступ в Интернет, можно только открыть доступ к конкретным доменам. Для этого требуется определить, куда Exchange полезет, чтобы проверить отзыв сертификата.

CRL и OCSP

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

CRL и OCSP — это 2 модели, которые могут использоваться для проверки сертификата на предмет его отзыва.

Модель CRL используется с самого начала существования PKI и работает так. Сервер CA при отзыве сертификата помещает о нём запись в специальный файл CRL. При этом туда помещается серийный номер сертификата, дата отзыва и причина отзыва. Клиенты при проверки сертификатов скачивают эти CRL и проверяют есть ли серийный номер этого сертификата в CRL.

В OCSP используется немного иной принцип. Клиент OCSP отправляет на сервер OCSP Responder специальный запрос, в котором содержится серийный номер проверяемого сертификата. OCSP Responder отвечает клиенту откликом: отозван или не отозван.

Оба метода могут использоваться одновременно. Exchange не успокоится, пока не проверит их оба. Наша задача: найти все домены (ссылки) CRL и OCSP нашего сертификата и добавить их в Firewall, чтобы разрешить к ним доступ серверу Exchange. Точнее даже не сертификата, а цепочки сертификатов.

Открываем наш сертификат на просмотр. Я использую формат CRT.

cert

Проверяем, что это именно тот сертификат, который нам нужен. Он действителен. Выдан RapidaSSL. Переключаемся на вкладку "Путь сертификации".

ssl

Корневой центр сертификации DigiCert. Но нам нужен промежуточный, тот что нам выдал сертификат (если их несколько, то понадобятся все). Выбираем его. Просмотр сертификата.

crl

Переходим на вкладку "Состав" и выбираем "Доступ к информации о центрах сертификации". И видим протокол определения состояния сертификата через сеть, где указано дополнительное имя OCSP, в данном случае:

  • http://ocsp.digicert.com

Разрешаем туда доступ серверу Exchange.

exchange

Выбираем "Точки распространения списков отзыва (CRL)". И видим все пути к CRL, у меня это:

  • http://crl3.digicert.com/DigiCertGlobalRootCA.crl
  • http://cr4.digicert.com/DigiCertGlobalRootCA.crl

Разрешаем туда доступ серверу Exchange. Выполняем на сервере Exchange в командной строке:

certutil -urlcache ocsp delete 
certutil -urlcache crl delete

Перезагружаем сервер Exchange и отправляемся пить чай.

ssl

Теперь сертификат "Допустимый".

Теги

 

Похожие материалы

hMailServer — установка SSL сертификата Let's Encrypt

Установим SSL сертификаты на почтовый сервер hMailServer. Используем порты для SSL/TLS: SMTP 587, IMAP 993, POP3 995. Сами сертификаты будем брать бесплатные — Let's Encrypt.