Продление сертификата Exchange Server
У каждого сертификата есть встроенный срок действия. В Exchange Server срок действия самозаверяющего сертификата по умолчанию, установленного на сервере Exchange Server, истекает через 5 лет после установки Exchange на сервере. Для обновления сертификатов Exchange можно использовать Центр администрирования Exchange (EAC) или командную консоль Exchange. Это относится к самозаверяющим сертификатам Exchange и сертификатам, выданным центром сертификации (ЦС).
Примечание.
Центр Администратор Exchange (EAC) можно использовать для управления сертификатами в Exchange Server 2019 CU15 и более поздних версий. Для Exchange Server 2016 CU23 и Exchange Server 2019 CU12–CU14 используйте процедуру Exchange Management Shell (EMS).
Что нужно знать перед началом работы
Предполагаемое время для завершения: 5 минут.
Сведения о том, как открыть командную консоль Exchange в локальной организации Exchange, см. в статье Open the Exchange Management Shell.
Если сертификаты выданы ЦС, проверьте требования ЦС к запросам сертификатов. Exchange создает файл запроса PKCS #10 (.req) в кодировке Base64 (по умолчанию) или Distinguished Encoding Rules (DER) с открытым ключом RSA длиной 1024, 2048 (по умолчанию) или 4096 бит. Обратите внимание, что параметры кодирования и открытого ключа доступны только в командной консоли Exchange.
Сертификат, выданный ЦС, нужно обновлять в выдавшем его ЦС. Если нужно изменить ЦС или возникла проблема при обновлении исходного сертификата, необходимо создать запрос нового сертификата (также известный как запрос подписи сертификата или CSR). Дополнительные сведения см. в статье Создание запроса на сертификат Exchange Server для центра сертификации.
Если вы обновите или замените сертификат, который был выпущен центром сертификации на подписанном пограничном транспортном сервере, вам нужно будет удалить старый сертификат, а затем удалить и заново создать пограничную подписку. Дополнительные сведения см. в разделе Процесс пограничной подписки.
Для выполнения этой процедуры (процедур) необходимы соответствующие разрешения. Сведения о необходимых разрешениях см. в записи "Безопасность служб клиентского доступа" в разделе Разрешения клиентов и мобильных устройств .
Сочетания клавиш для процедур, описанных в этой статье, приведены в статье Сочетания клавиш в Центре администрирования Exchange.
Совет
Возникли проблемы? Обратитесь за помощью к участникам форумов Exchange. Посетите форумы по адресу: Exchange Server, Exchange Online или Exchange Online Protection.
Обновление сертификата, выданного центром сертификации
Процедуры одинаковы для сертификатов, выданных внутренним (например, службами сертификации Active Directory) и коммерческим ЦС.
Чтобы обновить сертификат, выданный ЦС, создайте запрос на обновление сертификата и отправьте его в ЦС. Затем ЦС отправляет вам фактический файл сертификата, который необходимо установить на сервере Exchange Server. Почти аналогично выполняется запрос нового сертификата. Инструкции см. в разделе Выполнение ожидающего запроса на сертификат Exchange Server.
Создание запроса на обновление сертификата для центра сертификации с помощью Центра администрирования Exchange
Откройте EAC и перейдите в раздел Сертификаты серверов>.
В списке Выберите сервер выберите сервер Exchange с сертификатом, который требуется обновить.
В области сведений всех действительных сертификатов есть ссылка Обновить, которая отображается при выборе сертификата из списка. Выберите сертификат, который требуется обновить, и нажмите Обновить в области сведений.
На открывшейся странице Обновление сертификата Exchange в поле Сохранить запрос сертификата в следующий файл введите UNC-путь и имя файла нового запроса на обновление сертификата. Например,
\\FileServer01\Data\ContosoCertRenewal.req
. После этого нажмите кнопку ОК.
После этого запрос сертификата появится в списке сертификатов Exchange со статусом Ожидает.
Создание запроса на обновление сертификата для центра сертификации с помощью командной консоли Exchange
Чтобы создать новый запрос на продление сертификата для центра сертификации, используйте следующий синтаксис:
Если необходимо отправить содержимое файла запроса на продление сертификата в ЦС, используйте следующий синтаксис для создания файла запроса в кодировке Base64:
$txtrequest = Get-ExchangeCertificate -Thumbprint <Thumbprint> | New-ExchangeCertificate -GenerateRequest [-KeySize <1024 | 2048 | 4096>] [-Server <ServerIdentity>] [System.IO.File]::WriteAllBytes('<FilePathOrUNCPath>\<FileName>.req', [System.Text.Encoding]::Unicode.GetBytes($txtrequest))
Если необходимо отправить файл запроса на продление сертификата в ЦС, используйте следующий синтаксис для создания файла запроса в кодировке DER:
$binrequest = Get-ExchangeCertificate -Thumbprint <Thumbprint> | New-ExchangeCertificate -GenerateRequest -BinaryEncoded [-KeySize <1024 | 2048 | 4096>] [-Server <ServerIdentity>] [System.IO.File]::WriteAllBytes('<FilePathOrUNCPath>\<FileName>.pfx', $binrequest.FileData)
Чтобы найти значение отпечатка сертификата, который требуется обновить, выполните следующую команду:
Get-ExchangeCertificate | where {$_.Status -eq "Valid" -and $_.IsSelfSigned -eq $false} | Format-List FriendlyName,Subject,CertificateDomains,Thumbprint,NotBefore,NotAfter
Подробные сведения о синтаксисе и параметрах см. в разделах Get-ExchangeCertificate и New-ExchangeCertificate.
Примечания.
- Если параметр KeySize не используется, запрос на сертификат содержит 2048-разрядный открытый ключ RSA.
- Если параметр Server не используется, команда выполняется на локальном сервере Exchange Server.
В этом примере создается запрос на продление сертификата в кодировке Base64 для существующего сертификата со значением 5DB9879E38E36BCB60B761E29794392B23D1C054
отпечатка :
$txtrequest = Get-ExchangeCertificate -Thumbprint 5DB9879E38E36BCB60B761E29794392B23D1C054 | New-ExchangeCertificate -GenerateRequest
[System.IO.File]::WriteAllBytes('\\FileServer01\Data\ContosoCertRenewal.req', [System.Text.Encoding]::Unicode.GetBytes($txtrequest))
В этом примере создается запрос на продление сертификата в кодировке DER (двоичный) для того же сертификата:
$binrequest = Get-ExchangeCertificate -Thumbprint <Thumbprint> | New-ExchangeCertificate -GenerateRequest -BinaryEncoded
[System.IO.File]::WriteAllBytes('\\FileServer01\Data\ContosoCertRenewal.pfx', $binrequest.FileData)
Как узнать, что вы успешно создали запрос на продление сертификата?
Чтобы убедиться, что вы успешно создали запрос на обновление сертификата для центра сертификации, выполните любое из следующих действий:
В центре администрирования Exchange в разделе Сертификаты серверов> убедитесь, что выбран сервер, на котором хранится запрос сертификата. Запрос должен быть в списке сертификатов и иметь статусОжидающий запрос.
В командной консоли Exchange на сервере, где хранится запрос сертификата, выполните следующую команду:
Get-ExchangeCertificate | where {$_.Status -eq "PendingRequest" -and $_.IsSelfSigned -eq $false} | Format-List FriendlyName,Subject,CertificateDomains,Thumbprint
Обновление самозаверяющего сертификата Exchange
Когда вы обновляете самозаверяющий сертификат Exchange, вы, по сути, создаете новый сертификат.
Обновление самозаверяющего сертификата Exchange с помощью Центра администрирования Exchange
Откройте EAC и перейдите в раздел Сертификаты серверов>.
В списке Выберите сервер выберите сервер Exchange с сертификатом, который требуется обновить.
В области сведений всех действительных сертификатов есть ссылка Обновить, которая отображается при выборе сертификата из списка. Выберите сертификат, который требуется обновить, и нажмите Обновить в области сведений.
На открывшейся странице Обновление сертификата Exchange проверьте нередактируемый список служб Exchange, которым назначен существующий сертификат, и нажмите кнопку ОК.
Обновление самозаверяющего сертификата Exchange с помощью командной консоли Exchange
Чтобы обновить самозаверяющий сертификат, используйте следующий синтаксис:
Get-ExchangeCertificate -Thumbprint <Thumbprint> | New-ExchangeCertificate [-Force] [-PrivateKeyExportable <$true | $false>]
Чтобы найти значение отпечатка сертификата, который требуется обновить, выполните следующую команду:
Get-ExchangeCertificate | where {$_.IsSelfSigned -eq $true} | Format-List FriendlyName,Subject,CertificateDomains,Thumbprint,NotBefore,NotAfter
В этом примере обновляется самозаверяющий сертификат на локальном сервере Exchange, при этом используются следующие параметры:
- Значение отпечатка для существующего самозаверяющего сертификата для продления :
BC37CBE2E59566BFF7D01FEAC9B6517841475F2D
- Параметр Force заменяет исходный самозаверяющий сертификат без запроса на подтверждение.
- Закрытый ключ можно экспортировать. То есть вы можете экспортировать сертификат и импортировать его на другие серверы.
Get-ExchangeCertificate -Thumbprint BC37CBE2E59566BFF7D01FEAC9B6517841475F2D | New-ExchangeCertificate -Force -PrivateKeyExportable $true
Как узнать, что вы успешно обновили самозаверяющий сертификат Exchange?
Чтобы убедиться, что вы успешно обновили самозаверяющий сертификат Exchange, выполните одно из следующих действий:
В центре администрирования Exchange в разделе Сертификаты серверов> убедитесь, что выбран сервер, на котором установлен сертификат. В списке серверов убедитесь, что сертификат имеет статусДействительный.
В командной консоли Exchange на сервере, на котором вы обновили самозаверяющий сертификат, выполните следующую команду, чтобы проверить значения свойств:
Get-ExchangeCertificate | where {$_.Status -eq "Valid" -and $_.IsSelfSigned -eq $true} | Format-List FriendlyName,Subject,CertificateDomains,Thumbprint,NotBefore,NotAfter
Важно!
Удаление, продление или назначение служб сертификату может привести к удалению сертификата с серверной части Exchange и веб-сайта по умолчанию. Важно проверка привязки сертификатов и применить правильные сертификаты.