Создание запроса на сертификат Exchange Server для центра сертификации

Создание запроса на сертификат — это первый шаг при установке нового сертификата на сервер Exchange Server для настройки шифрования TLS для одной или нескольких служб Exchange. Такой запрос позволяет получить сертификат из центра сертификации (ЦС). Процедуры одинаковы для получения сертификатов из внутреннего ЦС (например, служб сертификатов Active Directory) или из коммерческого ЦС. После создания запроса на сертификат вы отправляете результат в центр сертификации, а последний использует эти сведения для выдачи фактического сертификата, который можно установить позже.

Запросы на сертификаты можно создавать в Центре администрирования Exchange (EAC) или в командной консоли Exchange. Мастер создания сертификатов Exchange в EAC может помочь в выборе имен узлов, необходимых в сертификате.

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

  • Для выполнения этой процедуры (процедур) необходимы соответствующие разрешения. Дополнительные сведения о необходимых разрешениях см. в записи "Безопасность служб клиентского доступа" статьи Разрешения для клиентов и мобильных устройств .

  • Предполагаемое время выполнения: 5 минут на каждый новый запрос. Однако требуется больше времени, прежде чем запрос приведет к выдаче сертификата. Дополнительные сведения см. в разделе Дальнейшие действия.

  • Следует тщательно выбрать тип сертификата, который вам требуется, и имена узлов, которые необходимо в нем указать. Дополнительные сведения см. в статье Цифровые сертификаты и шифрование в Exchange Server.

  • Всегда проверяйте требования центра сертификации к запросам на сертификаты. Exchange создает файл запроса PKCS #10 (REQ- файл), который использует кодировку Base64 (по умолчанию) или Distinguished Encoding Rules (DER) с открытым ключом RSA 1024, 2048 (по умолчанию) или 4096 битами. Параметры кодирования и открытого ключа доступны только в командной консоли Exchange. Дополнительные сведения см. в статье New-ExchangeCertificate.

  • В EAC необходимо сохранить файл запроса сертификата по UNC-пути (\\<Server>\<Share>\ или \\<LocalServerName>\c$\). В командной консоли Exchange вы можете указать локальный путь.

  • Сведения о том, как открыть командную консоль Exchange в локальной организации Exchange, см. в статье Open the Exchange Management Shell.

  • Дополнительные сведения о сочетаниях клавиш, которые могут применяться к процедурам, описанным в этой статье, см. в разделе Сочетания клавиш в Центре администрирования Exchange.

Совет

Возникли проблемы? Обратитесь за помощью к участникам форумов Exchange. Посетите форумы по адресу: Exchange Server, Exchange Online или Exchange Online Protection.

Использование Центра администрирования Exchange для создания нового запроса на сертификат

Примечание.

Запрос сертификата ECP не рекомендуется использовать в Exchange 2019 CU12 и более поздних версий, а также в Exchange 2016 с накопительным пакетом обновления 23 (CU23) и более поздних версий.

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

  2. В раскрывающемся списке Выбор сервера выберите сервер Exchange Server, на котором требуется установить сертификат, а затем щелкните Добавитьзначок добавления.

Запустится мастер Создание сертификата Exchange.

  1. На странице Этот мастер создаст новый сертификат или файл запроса сертификата , убедитесь, что выбран параметр Создать запрос на сертификат из центра сертификации , а затем нажмите кнопку Далее.

    Примечание.

    Сведения о создании самозаверяющего сертификата см. в статье Создание самозаверяющего сертификата Exchange Server.

  2. На странице Понятное имя этого сертификата введите описательное имя сертификата и нажмите кнопку Далее.

  3. На странице Запрос группового сертификата выберите одно из следующего:

    • Если требуется сертификат с подстановочными знаками: выберите Запросить сертификат с подстановочным знаком и введите подстановочный знак (*) и домен в поле Корневой домен , например *.contoso.com или *.eu.contoso.com. По завершении нажмите кнопку Далее.
    • Если требуется сертификат альтернативного имени субъекта (SAN): не выбирайте параметры на этой странице и нажмите кнопку Далее.
    • Если требуется сертификат для одного узла: не выбирайте параметры на этой странице и нажмите кнопку Далее.
  4. На странице Запрос сертификата в хранилище на этом сервере выберите Обзор и выберите сервер Exchange Server, на котором вы хотите сохранить запрос сертификата (где требуется установить сертификат). Затем нажмите кнопки ОК и Далее.

    Примечание.

    Шаги 7 и 8 применимы только к запросу на сертификат SAN или сертификат для одного узла. Если вы выбрали вариант Запрос группового сертификата, переходите к шагу 9.

Откроется страница Укажите домены, которые нужно включить в сертификат . Эта страница по сути представляет собой лист, на котором можно определить внутренние и внешние имена узлов, необходимые в сертификате для следующих служб Exchange:

  • Outlook в Интернете
  • Формирование автономной адресной книги (OAB)
  • веб-службы Exchange
  • Exchange ActiveSync
  • Автообнаружение
  • POP
  • IMAP
  • Мобильный Outlook
  1. Введите значение для каждой службы в зависимости от расположения (внутренней или внешней). Затем мастер определяет имена узлов, необходимые в сертификате, и сведения отображаются на следующей странице.

  2. Если вы хотите изменить значение службы, выберите Изменить (значок редактирования) и введите значение имени узла, которое вы хотите использовать (или удалите значение). По завершении нажмите кнопку Далее.

    Примечание.

    Если вы уже определили необходимые имена узлов, вам не нужно заполнять поля на этой странице. Вместо этого нажмите кнопку Далее , чтобы вручную ввести имена узлов на следующей странице.

В зависимости от выбранных значений на странице сертификата будут включены следующие домены . На этой странице перечислены имена узлов, которые будут включены в запрос сертификата. Имя узла, используемое в поле Тема сертификата, выделено полужирным шрифтом, что трудно увидеть, если выбрано это имя узла.

  1. Проверьте записи имени узла, необходимые в сертификате, сославшись на выбранные на предыдущей странице.

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

  2. Проигнорируйте значения с последней страницы и добавьте, измените или удалите значения имени узла, выполнив следующие действия: a. Если вам нужен сертификат SAN: чтобы выбрать имя узла для поля "Субъект " сертификата, выберите значение и выберите Задать в качестве общего имени (флажок). После этого значение должно быть выделено полужирным шрифтом. Б. Если требуется сертификат для одного имени узла: выберите другие значения по одному и нажмите кнопку Удалить (удалить значок).

    Примечание.

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

  3. На странице Укажите сведения об организации введите следующую информацию:

  • Название организации
  • Название отдела
  • Город или населенный пункт
  • Область, республика, край, округ
  • Название страны или региона

Примечание.

Эти значения X.500 включены в поле Тема сертификата. Хотя для продолжения работы в каждом поле требуется значение, ЦС может не заботиться об определенных полях (например, название отдела), в то время как другие поля важны (например, название страны или региона и название организации). Установите флажок Требования к субъекту вашего ЦС.

  1. По завершении нажмите кнопку Далее.

  2. На странице Сохранить запрос сертификата в следующий файл введите UNC-путь и имя файла для запроса сертификата, например \\FileServer01\Data\ExchCertRequest.req. По завершении нажмите кнопку Готово.

После этого запрос сертификата появится в списке сертификатов Exchange со статусом Ожидает. Дополнительные сведения о следующих шагах см. в разделе Дальнейшие действия .

Создание запроса на сертификат с помощью командной консоли Exchange

Чтобы создать новый запрос для сертификата с подстановочными знаками, сертификата SAN или сертификата для одного узла, используйте следующий синтаксис:

  • Если необходимо отправить содержимое файла запроса сертификата в ЦС, используйте следующий синтаксис для создания файла запроса в кодировке Base64:

    $txtrequest = New-ExchangeCertificate -PrivateKeyExportable $True -GenerateRequest [-FriendlyName <DescriptiveName>] -SubjectName C=<CountryOrRegion>[,S=<StateOrProvince>,L=<LocalityOrCity>,O=<Organization>,OU=<Department>],CN=<HostNameOrFQDN> [-DomainName <Host1>,<Host2>...] [-KeySize <1024 | 2048 | 4096>] [-Server <ServerIdentity>]
    [System.IO.File]::WriteAllBytes('<FilePathOrUNCPath>\<FileName>.req', [System.Text.Encoding]::Unicode.GetBytes($txtrequest))
    
  • Если необходимо отправить файл запроса сертификата в ЦС, используйте следующий синтаксис для создания файла запроса в кодировке DER:

    $binrequest = New-ExchangeCertificate -PrivateKeyExportable $True -GenerateRequest -BinaryEncoded [-FriendlyName <DescriptiveName>] -SubjectName C=<CountryOrRegion>[,S=<StateOrProvince>,L=<LocalityOrCity>,O=<Organization>,OU=<Department>],CN=<HostNameOrFQDN> [-DomainName <Host1>,<Host2>...] [-KeySize <1024 | 2048 | 4096>] [-Server <ServerIdentity>]
    [System.IO.File]::WriteAllBytes('<FilePathOrUNCPath>\<FileName>.pfx', $binrequest.FileData)
    

Примечание.

Единственной обязательной частью значения параметра X.500 SubjectName (поле Subject сертификата) для выполнения команды является CN=<HostNameOrFQDN>. Но всегда следует включать C=<CountryOrRegion> значение. В противном случае вы не сможете обновить сертификат. Установите флажок Требования к субъекту вашего ЦС. Если параметр KeySize не используется, запрос на сертификат содержит 2048-разрядный открытый ключ RSA. Если параметр Server не используется, команда выполняется на локальном сервере Exchange Server.

Дополнительные сведения о синтаксисе и параметрах см. в разделе New-ExchangeCertificate.

Запрос на сертификат с подстановочными знаками

В этих примерах создаются файлы запросов на сертификат для сертификатов с подстановочными знаками со следующими свойствами:

  • SubjectName: *.contoso.com в США, для которого требуется значение C=US,CN=*.contoso.com.
  • RequestFile: \\FileServer01\Data\Contoso Wildcard Cert.<cer or pfx>
  • FriendlyName: Contoso.com сертификат с подстановочными знаками

Чтобы создать файл запроса в кодировке Base64 для сертификата с подстановочными знаками, выполните следующую команду:

$txtrequest = New-ExchangeCertificate -PrivateKeyExportable $True -GenerateRequest -FriendlyName "Contoso.com Wildcard Cert" -SubjectName "C=US,CN=*.contoso.com"
[System.IO.File]::WriteAllBytes('\\FileServer01\Data\Contoso Wildcard Cert.req', [System.Text.Encoding]::Unicode.GetBytes($txtrequest))

Чтобы создать файл запроса в кодировке DER для сертификата с подстановочными знаками, выполните следующую команду:

$binrequest = New-ExchangeCertificate -PrivateKeyExportable $True -GenerateRequest -BinaryEncoded -FriendlyName "Contoso.com Wildcard Cert" -SubjectName "C=US,CN=*.contoso.com"
[System.IO.File]::WriteAllBytes('\\FileServer01\Data\Contoso Wildcard Cert.pfx', $binrequest.FileData)

Запрос сертификата SAN

В этих примерах создаются файлы запросов сертификатов для сертификатов SAN со следующими свойствами:

  • SubjectName: mail.contoso.com в США, для которого требуется значение C=US,CN=mail.contoso.com. Это значение CN автоматически включается в параметр DomainName (поле "Альтернативное имя субъекта ").
  • Значения полей другого альтернативного имени субъекта :
    • autodiscover.contoso.com
    • legacy.contoso.com
    • mail.contoso.net
    • autodiscover.contoso.net
    • legacy.contoso.net
  • RequestFile: \\FileServer01\Data\Contoso SAN Cert.<cer or pfx>
  • FriendlyName: Contoso.com сертификат SAN
  • DomainName: список доменов, разделенных запятыми

Чтобы создать файл запроса в кодировке Base64 для сертификата SAN, выполните следующую команду:

$txtrequest = New-ExchangeCertificate -PrivateKeyExportable $True -GenerateRequest -FriendlyName "Contoso.com SAN Cert" -SubjectName "C=US,CN=mail.contoso.com" -DomainName autodiscover.contoso.com,legacy.contoso.com,mail.contoso.net,autodiscover.contoso.net,legacy.contoso.net
[System.IO.File]::WriteAllBytes('\\FileServer01\Data\Contoso SAN Cert.req', [System.Text.Encoding]::Unicode.GetBytes($txtrequest))

Чтобы создать файл запроса в кодировке DER для сертификата SAN, выполните следующую команду:

$binrequest = New-ExchangeCertificate -PrivateKeyExportable $True -GenerateRequest -BinaryEncoded -FriendlyName "Contoso.com SAN Cert" -SubjectName "C=US,CN=mail.contoso.com" -DomainName autodiscover.contoso.com,legacy.contoso.com,mail.contoso.net,autodiscover.contoso.net,legacy.contoso.net
[System.IO.File]::WriteAllBytes('\\FileServer01\Data\Contoso SAN Cert.pfx', $binrequest.FileData)

Запрос на сертификат с одним субъектом

В этих примерах создаются файлы запросов сертификатов для сертификатов с одним субъектом со следующими свойствами:

  • SubjectName: mail.contoso.com в США, для которого требуется значение C=US,CN=mail.contoso.com.
  • RequestFile: \\FileServer01\Data\Mail.contoso.com Cert.<cer or pfx>
  • FriendlyName: Mail.contoso.com Cert

Чтобы создать файл запроса в кодировке Base64 для сертификата с одним субъектом, выполните следующую команду:

$txtrequest = New-ExchangeCertificate -PrivateKeyExportable $True -GenerateRequest -FriendlyName "Mail.contoso.com Cert" -SubjectName "C=US,CN=mail.contoso.com"
[System.IO.File]::WriteAllBytes('\\FileServer01\Data\Mail.contoso.com Cert.req', [System.Text.Encoding]::Unicode.GetBytes($txtrequest))

Чтобы создать файл запроса в кодировке DER для сертификата с одним субъектом, выполните следующую команду:

$binrequest = New-ExchangeCertificate -PrivateKeyExportable $True -GenerateRequest -BinaryEncoded -FriendlyName "Mail.contoso.com Cert" -SubjectName "C=US,CN=mail.contoso.com"
[System.IO.File]::WriteAllBytes('\\FileServer01\Data\Mail.contoso.com Cert.pfx', $binrequest.FileData)

Как узнать, что эти команды работали?

Чтобы убедиться, что вы успешно создали новый запрос на сертификат, выполните одно из следующих действий:

  • В центре администрирования Exchange в разделе Сертификаты серверов> проверьте, выбран ли сервер, на котором хранится запрос сертификата. Запрос должен находиться в списке сертификатов со значением параметра Status , заданным как Ожидание запроса.

  • В командной консоли Exchange на сервере, где хранится запрос сертификата, выполните следующую команду:

    Get-ExchangeCertificate | where {$_.Status -eq "PendingRequest" -and $_.IsSelfSigned -eq $false} | Format-List FriendlyName,Subject,CertificateDomains,Thumbprint
    

Дальнейшие действия

Содержимое файла запроса сертификата в кодировке Base64 выглядит так, как описано ниже.

-----BEGIN NEW CERTIFICATE REQUEST-----
MIIEBjCCAu4CAQAwYzEWMBQGA1UEAwwNKi5jb250b3NvLmNvbTELMAkGA1UECwwC
SVQxEDAOBgNVBAoMB0NvbnRvc28xEDAOBgNVBAcMB1NlYXR0bGUxCzAJBgNVBAgM
AldBMQswCQYDVQQGEwJVUzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB
ANZFK6JxcQMEBitJcEC82vCvr6251o28CMmrpIkl7Z0MnkCrU+BMTLBuZnIgaLvb
jlzORvH6DP/dbyR8gQEAHVrXVWdr3AJIRbqQXWwN++BM5b2O6lIrA8w41XwGNu6r
dtddi+POf8UYwot7PXw6wDsbKaTs1ePVK/0XdemdJCFIXNfCT8LY4p/KryQAyquo
XDa+Acbx7TRxG2kXNAxgPGve+mvyCyizbugXAJIz4nugJ2k/X1kGYDc7f/b80tCv
bPTcGCr09ScsbKmsQcqJ7UxiX2tScpO5AQxNxJHGL+bA6+96FBjPnFZaqPbFgI74
N6hmZdSEDgQlaGfLEGjZBGMCAwEAAaCCAVwwGgYKKwYBBAGCNw0CAzEMFgo2LjEu
NzYwMS4yMEwGCSqGSIb3DQEJDjE/MD0wDgYDVR0PAQH/BAQDAgWgMAwGA1UdEwEB
/wQCMAAwHQYDVR0OBBYEFNRw1o74zcuGyky33rl7WChgdQrlMHIGCisGAQQBgjcN
AgIxZDBiAgEBHloATQBpAGMAcgBvAHMAbwBmAHQAIABSAFMAQQAgAFMAQwBoAGEA
bgBuAGUAbAAgAEMAcgB5AHAAdABvAGcAcgBhAHAAaABpAGMAIABQAHIAbwB2AGkA
ZABlAHIDAQAwfAYJKwYBBAGCNxUUMW8wbQIBBQwrRVhIUi0zMjQ4LkVYSFItMzI0
OGRvbS5leHRlc3QubWljcm9zb2Z0LmNvbQwXRVhIUi0zMjQ4RE9NXEVYSFItMzI0
OCQMIk1pY3Jvc29mdC5FeGNoYW5nZS5TZXJ2aWNlSG9zdC5leGUwDQYJKoZIhvcN
AQEFBQADggEBAL63qVj1m2mBz53+nilnlFweOlcltXoxaF28+Kf0hrJVbH5a2Jme
tS0iKU8YXU3mZ3NnWco+5ea024f9awMIzg4z/heE5yEUFf9UtwRGSOc84r2QexPa
zT/rveTTcbliKU0EFhporl3C2uuBCdAewyLj+/k0hABH3djnmMONG6NyC5f+wMun
kkH5naiSLdsTYbq8jkWYuSqL0qdhtmauqWeAPpA0hKDkQk5eDWpOGx3mgxiaQumo
Rqw6dmQ+o8TC+lE3Tvgdfv47A84X8H7Y9h8liS4h0OfbsgEQb8LcM0YHD6yvPgcD
JCmt8A7JFHF9u6mghjiKlXaZ/i+2l10Wsu8=
-----END NEW CERTIFICATE REQUEST-----

Вам нужно отправить эту информацию в центр сертификации. Способ отправки зависит от ЦС, но обычно содержимое файла отправляется в сообщении электронной почты или в форме запроса сертификата на веб-сайте ЦС.

Если центр сертификации требует, чтобы запрос на сертификат был в двоичном формате в кодировке DER (если использовался командлет New-ExchangeCertificate с параметром BinaryEncoded), в центр сертификации обычно требуется отправить сам файл запроса на сертификат.

После получения сертификата от центра сертификации необходимо завершить ожидающий запрос на сертификат. Дополнительные сведения см. в разделе Выполнение ожидающего запроса на сертификат Exchange Server.