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

У каждого сертификата есть встроенный срок действия. В Exchange Server срок действия самозаверяющего сертификата по умолчанию, установленного на сервере Exchange Server, истекает через 5 лет после установки Exchange на сервере. Для обновления сертификатов Exchange можно использовать Центр администрирования Exchange (EAC) или командную консоль Exchange. Это относится к самозаверяющим сертификатам Exchange и сертификатам, выданным центром сертификации (ЦС).

Примечание.

Задачи управления сертификатами удаляются из EAC для Exchange Server 2016 CU23 и Exchange Server 2019 CU12. Используйте процедуру командной консоли Exchange для экспорта или импорта сертификата из этих версий.

Что нужно знать перед началом работы

  • Предполагаемое время для завершения: 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

  1. Откройте EAC и перейдите в раздел Сертификаты серверов>.

  2. В списке Выберите сервер выберите сервер Exchange с сертификатом, который требуется обновить.

  3. В области сведений всех действительных сертификатов есть ссылка Обновить, которая отображается при выборе сертификата из списка. Выберите сертификат, который требуется обновить, и нажмите Обновить в области сведений.

  4. На открывшейся странице Обновление сертификата 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

  1. Откройте EAC и перейдите в раздел Сертификаты серверов>.

  2. В списке Выберите сервер выберите сервер Exchange с сертификатом, который требуется обновить.

  3. В области сведений всех действительных сертификатов есть ссылка Обновить, которая отображается при выборе сертификата из списка. Выберите сертификат, который требуется обновить, и нажмите Обновить в области сведений.

  4. На открывшейся странице Обновление сертификата 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 и веб-сайта по умолчанию. Важно проверить привязки сертификатов и применить правильные сертификаты.

Дополнительные ресурсы

Не удается открыть OWA, ECP или EMS после удаления самозаверяющего сертификата с веб-сайта серверной части Exchange