Продление (обновление) TLS/SSL сертификата в Exchange

При установке Microsoft Exchange 2019/2016/2013 автоматически выпускаются самоподписанные сертификаты для защиты подключений между клиентами и сервером. Обычно первый SSL сертификат выдается ровно на год. При истечении срока действия этого сертификата, у пользователей при запуске Outlook будет появляться сообщение:

The security certificate has expired or is not yet valid.

Вы можете обновить сертификат или выпустить новый через графической интерфейс Exchange Admin Center (EAC) или командлетами PowerShell из Exchange Management Shell.

Далее я покажу действия по продлению сертификата в интерфейсе EAC и потом приведу аналогичные команды PowerShell.

Продление сертификата Exchange из Exchange Admin Center

Откройте панель управления Exchange ECP, перейдя по адресу https://msk-mail1/ecp/

Сначала нужно сформировать запрос на продление сертификата. Перейдите в раздел Server -> Certificate. Выберите просроченный сертификат и нажмите кнопку Renew.

Сохраните файл запроса (.req) на продление сертификата в сетевую папку.

В консоли EAC статус сертификата изменится на Pending Request.

Передайте req файл на продление сертификата в ваш центр сертификации (это может быть как внешний, так и внутренний Certification authority). На основе вашего reg запроса вам должны сформировать сертификат и вернуть готовый .cer файл.

Выберите ваш сертификат в консоли EAC и нажмите Complete.

Укажите UNC путь к вашему файлу сертификату в сетевой папке и нажмите OK.

Теперь нужно назначить (переназначить) сертификат на сервисы Exchange (обычно сертфикат используется для служб IMAP, POP, IIS).

Перезапустите IIS на сервере Exchange командой:

1 iisreset

Статус сертификата в консоли Exchange должен сменится на Valid.

Вы можете экспортировать новый сертификат на другие серверы Exchange. Для этого экспортируйте сертификат в формат .pfx (в нем будет содержаться закрытый ключ, поэтому используйте криптостойкий пароль). Выполните импорт сертификата на целевом сервере Exchnage.

Статус сертификата в консоли Exchange должен сменится на Valid.

Продление сертификата Exchange из PowerShell

Выведите полный список сертификатов, установленных в Exchange, и скопируйте отпечаток (ThumbPrint) того сертификата, который нужно продлить. Список сертификатов можно сохранить в txt файл:

1 Get-ExchangeCertificate | C:\ps\CertThumbPrint.txt

Создадим новый запрос на продление сертификата, указав ThumbPrint того сертификата, который нужно продлить, например 12345678901234567890. Следующая команда сформирует файл запроса на продление SSL/TLS сертификата:

1 Get-ExchangeCertificate -Thumbprint 12345678901234567890| New-ExchangeCertificate -GenerateRequest -RequestFile «\\msk-mail1\share\renew_cert.req» -PrivateKeyExportable:$true

После получение нового сертификата из CA, завершите запрос продления командой:

1 Import-ExchangeCertificate -FileName \\msk-mail1\share\company_new_sslcert.cer» -PrivateKeyExportable:$true

Теперь активируйте данный SSL сертификат для нужных служб Exchange:

1 Enable-ExchangeCertificate –Thumbprint 123123123123123123123123123 –Services «IIS, SMTP, POP, IMAP»

Осталось только перезапустить службы IIS на Exchange:

1 Restart-Service W3SVC