Установка SSL-сертификата на Exchange Server 2013/2016
Установка SSL сертификата Exchange Server 2013/2016 — пошаговая инструкция с командами PowerShell и настройкой через EAC (Exchange Admin Center). Для создания PFX-файла перед установкой читайте: создание PFX файла через OpenSSL. Документация Microsoft: learn.microsoft.com/exchange.
Подготовка файлов сертификата
Когда мы покупаем SSL-сертификат, например, у GlobalSign или Digicert (да и у многих других удостоверяющих центров), обычно предоставляют как минимум два основных файла:
Приватный ключ (Private Key): Это секретная часть, часто файл с расширением .key или просто текстовый файл, для удобства называю private.txt
Сертификат сервера (Public Key / Certificate): Это публичная часть, выданная УЦ. Обычно это файл .crt или .cer, который назову my.crt
Промежуточные/корневые сертификаты (Intermediate/Root CA Certificates): Иногда они идут отдельными файлами, иногда уже включены в основной .crt файл или предоставлены как ca-bundle.crt. Для корректной работы и доверия со стороны клиентов важно, чтобы была полная цепочка сертификатов. Если они отдельные, я обычно объединяю их с my.crt в один файл
openssl pkcs12 -export -out certificate.pfx -inkey private.txt -in fullchain.crt
pkcs12 -export: Это указание OpenSSL создать PFX-файл.-out certificate.pfx: Так я называю итоговый файл, который буду импортировать в Exchange.-inkey private.txt: Здесь я указываю путь к моему файлу с приватным ключом.-in fullchain.crt: Здесь я указываю путь к файлу, который содержит полную цепочку (мой сертификат + промежуточные сертификаты).
Важный момент: При выполнении этой команды OpenSSL попросит вас придумать и ввести пароль. Обязательно запомните его — без него импортировать файл .pfx в Exchange не получится.
Импорт сертификата в Exchange
Когда наш файл certificate.pfx готов, его нужно перенести на сервер с Exchange. Импортировать сертификат можно двумя путями: через веб-интерфейс (EAC) или через консоль PowerShell. Я предпочитаю PowerShell, так как это быстрее и нагляднее.
Способ 1: Через Exchange Management Shell (Рекомендуемый)
Открываем консоль Exchange Management Shell от имени администратора и выполняем следующие команды:
# Задаем пароль, который мы вводили при создании PFX в OpenSSL
$password = ConvertTo-SecureString -String "ВАШ_ПАРОЛЬ" -AsPlainText -Force
# Импортируем сам сертификат
Import-ExchangeCertificate -FileData ([System.IO.File]::ReadAllBytes("C:\путь\к\вашему\certificate.pfx")) -Password $password
После успешного выполнения команды в консоли появится таблица. Нам нужно скопировать значение Thumbprint (Отпечаток) — это длинная строка из букв и цифр, которая понадобится нам на следующем шаге.
Способ 2: Через Exchange Admin Center (EAC)
Если консоль вам не по душе:
- Заходим в EAC (https://ваш-сервер/ecp).
- Идем в раздел Серверы (Servers) -> вкладка Сертификаты (Certificates).
- Выбираем нужный сервер, нажимаем на три точки ... и выбираем Импорт сертификата Exchange (Import Exchange Certificate).
- Указываем UNC-путь к файлу (например, \ServerName\C$\Certs\certificate.pfx) и вводим пароль.
- Выбираем сервер, на который устанавливаем сертификат, и жмем «Готово».
Назначение служб сертификату
Просто добавить сертификат в хранилище недостаточно. Exchange должен знать, для каких именно служб (IIS, SMTP, POP, IMAP) его использовать.
Снова возвращаемся в Exchange Management Shell. Берем Thumbprint, который мы скопировали на предыдущем шаге, и выполняем привязку:
Enable-ExchangeCertificate -Thumbprint "ВАШ_СКОПИРОВАННЫЙ_THUMBPRINT" -Services "IIS, SMTP, POP, IMAP"
- IIS: Отвечает за веб-службы (OWA, ECP, ActiveSync, Outlook Anywhere).
- SMTP: Отвечает за шифрование передачи писем между серверами и клиентами.
Обратите внимание: Если у вас уже был установлен старый сертификат для SMTP, консоль спросит: "Overwrite the existing default SMTP certificate?" (Перезаписать существующий сертификат по умолчанию для SMTP?). Смело нажимайте Y (Да).
Проверка работы
Чтобы убедиться, что всё прошло успешно и мы ничего не сломали:
-
Проверяем статус в консоли:
Get-ExchangeCertificate -Thumbprint "ВАШ_СКОПИРОВАННЫЙ_THUMBPRINT" | Format-List Status, NotAfter, ServicesСтатус должен быть Valid, а в службах должны числиться те, что мы назначили.
-
Проверяем визуально: Откройте веб-интерфейс почты (OWA) в браузере. Замочек в адресной строке должен быть безопасным. Кликните на него и убедитесь, что отображается ваш новый сертификат с правильными датами и полным путем доверия.
-
Не удаляйте старый сертификат сразу:
Хорошая практика — оставить старый (истекающий) сертификат в системе еще на пару дней. Если вдруг окажется, что в новом сертификате вы забыли прикрепить промежуточную цепочку и у клиентов отвалились телефоны, у вас будет время спокойно всё исправить. Удалить старый сертификат можно позже через тот же EAC или команду Remove-ExchangeCertificate.