Criar uma solicitação de certificado do Exchange Server para uma autoridade de certificação

APLICA-SE A:yes-img-162016 yes-img-192019 yes-img-seSubscription Edition

Criar uma solicitação de certificado é a primeira etapa na instalação de um novo certificado em um servidor Exchange para configurar a criptografia TLS para um ou mais serviços do Exchange. Use uma solicitação de certificado (também conhecida como uma solicitação de assinatura de certificado ou CSR) para receber um certificado de uma autoridade de certificação (CA). Os procedimentos são os mesmos para obter certificados de uma autoridade de certificação interna (por exemplo, Serviços de Certificados do Active Directory) ou de uma autoridade de certificação comercial. Depois de criar a solicitação de certificado, você envia os resultados para a autoridade de certificação, e a autoridade de certificação usa as informações para emitir o certificado real, que você instala posteriormente.

Você pode criar solicitações de certificado no EAC (centro de administração do Exchange) ou no Shell de Gerenciamento do Exchange. O assistente de Novo certificado do Exchange no EAC pode ajudá-lo a selecionar os nomes de host que são necessários no certificado.

Do que você precisa saber para começar?

  • Para executar este procedimento ou estes procedimentos, você precisa receber permissões. Para obter mais informações sobre as permissões necessárias, consulte a entrada "Segurança dos serviços de Acesso para Cliente" no artigo Permissões de clientes e dispositivos móveis .

  • Tempo estimado para conclusão: 5 minutos para concluir a nova solicitação de certificado. No entanto, é necessário mais tempo antes que a solicitação leve à emissão de um certificado. Para obter mais informações, consulte Próximas etapas.

  • É preciso planejar cuidadosamente a escolha do tipo de certificado desejado e dos nomes de host que são necessários no certificado. Para obter mais informações, consulte Certificados digitais e criptografia no Exchange Server.

  • Verifique os requisitos de solicitação de certificado da autoridade de certificação. O Exchange gera um arquivo de solicitação PKCS #10 (.req) que usa a codificação Base64 (padrão) ou Distinguished Encoding Rules (DER), com uma chave pública RSA de 1024, 2048 (padrão) ou 4096 bits. As opções de codificação e chave pública só estão disponíveis no Shell de Gerenciamento do Exchange. Para obter mais informações, consulte New-ExchangeCertificate.

  • No EAC, você precisa armazenar o arquivo de solicitação de certificado em um caminho UNC (\\<Server>\<Share>\ ou \\<LocalServerName>\c$\). No Shell de Gerenciamento do Exchange, você pode especificar um caminho local.

  • Para saber como abrir o Shell de Gerenciamento do Exchange em sua organização do Exchange local, confira Abra o Shell de Gerenciamento do Exchange.

  • Para obter mais informações sobre atalhos de teclado que podem ser aplicados aos procedimentos neste artigo, consulte Atalhos de teclado no Centro de administração do Exchange.

Dica

Está com problemas? Peça ajuda no fórum do Exchange Server no Exchange | Exchange Server | e Vulnerabilidade.

Usar o EAC para criar uma nova solicitação de certificado

Observação

O EAC (Centro de Administração do Exchange) pode ser usado para gerenciar certificados no Exchange Server 2019 CU15 e posterior. Para o Exchange Server 2016 CU23 e o Exchange Server 2019 CU12 a CU14, use o procedimento do Shell de Gerenciamento do Exchange (EMS).

  1. Abra o EAC e navegue até Certificados de>servidores.

  2. Na lista suspensa Selecionar servidor, selecione o servidor Exchange no qual você deseja instalar o certificado e selecione Adicionarícone Adicionar.

    O assistente de Novo certificado do Exchange é aberto.

  3. Na página Este assistente criará um novo certificado ou um arquivo de solicitação de certificado , verifique se a opção Criar uma solicitação de certificado de uma autoridade de certificação está selecionada e selecione Avançar.

    Observação

    Para criar um novo certificado autoassinado, consulte Criar um novo certificado autoassinado do Exchange Server.

  4. Na página Nome amigável para este certificado , insira um nome descritivo para o certificado e selecione Avançar.

  5. Na página Solicitar um certificado curinga , faça uma das seguintes opções:

    • Se você quiser um certificado curinga: selecione Solicitar um certificado curinga e insira o caractere curinga (*) e o domínio na caixa Domínio raiz , por exemplo, *.contoso.com ou *.eu.contoso.com. Quando concluir, selecione Avançar.
    • Se você quiser um certificado SAN (nome alternativo para o assunto): Não faça seleções nesta página e selecione Avançar.
    • Se você quiser um certificado para um único host: Não faça seleções nesta página e selecione Avançar.
  6. Na página Armazenar solicitação de certificado neste servidor , selecione Procurar e selecione o servidor Exchange no qual você deseja armazenar a solicitação de certificado (onde deseja instalar o certificado). Em seguida, selecione OK e Avançar.

    Observação

    As etapas 7 e 8 se aplicam somente a uma solicitação de um certificado SAN ou um certificado para um único host. Se você selecionou Solicitar um certificado curinga, vá para a Etapa 9.

A página Especificar os domínios que você deseja incluir em seu certificado é exibida. Esta página é basicamente uma planilha que ajuda você a determinar os nomes de host interno e externo que são necessários no certificado para os seguintes serviços do Exchange:

  • Outlook na Web
  • Geração de catálogo de endereços offline (OAB)
  • Serviços de Web do Exchange
  • Exchange ActiveSync
  • Descoberta automática
  • POP
  • IMAP
  • Outlook em Qualquer Lugar
  1. Insira um valor para cada serviço com base no local (interno ou externo). Em seguida, o assistente determina os nomes de host que são necessários no certificado e as informações são exibidas na próxima página.

  2. Se você quiser modificar um valor de um serviço, selecione Editar (ícone Editar.) e insira o valor do nome do host que deseja usar (ou exclua o valor). Quando concluir, selecione Avançar.

    Observação

    Se você já determinou os valores de nome de host necessários no certificado, não precisa preencher as informações nesta página. Em vez disso, selecione Avançar para inserir manualmente os nomes de host na próxima página.

    A página Com base em suas seleções, os seguintes domínios serão incluídos em sua página de certificado é exibida. Esta página lista os nomes de host que serão incluídos na solicitação de certificado. O nome do host usado na caixa Assunto do certificado está em negrito, o que pode ser difícil de ver se esse nome de host estiver selecionado.

  3. Verifique as entradas de nome do host que são necessárias no certificado consultando as seleções feitas na página anterior.

    Se você não quiser considerar essa lista de nomes de host para inclusão na solicitação de certificado, vá para a Etapa 10.

  4. Ignore os valores da última página e adicione, edite ou remova valores de nome de host executando as seguintes etapas: a. Se você quiser um certificado SAN: Para selecionar o nome do host para o campo Assunto do certificado, selecione o valor e selecione Definir como nome comum (marca de seleção). O valor agora deve aparecer em negrito. b. Se você quiser um certificado para um único nome de host: Selecione os outros valores um de cada vez e selecione Remover (ícone Remover).

    Observação

    Não é possível excluir o valor de nome do host em negrito que será usado para a caixa Assunto do certificado. Primeiro, você precisa selecionar ou adicionar um nome de host diferente e, em seguida, marcar a caixa Definir como nome comum. As alterações feitas nesta página podem ser perdidas se você selecionar o botão Voltar .

  5. Na página Especificar informações sobre sua organização , insira os seguintes valores:

    • Nome da organização
    • Nome do departamento
    • Cidade/Localidade
    • Estado/Província
    • Nome do país/região

Observação

Esses valores X.500 estão incluídos na caixa Assunto do certificado. Embora um valor seja necessário em todos os campos antes de prosseguir, a autoridade de certificação pode não se importar com determinados campos (por exemplo, nome do departamento), enquanto outros campos são importantes (por exemplo, nome do país/região e nome da organização). Marque os requisitos da caixa Assunto da sua autoridade de certificação.

  1. Quando concluir, selecione Avançar.

  2. Na página Salvar a solicitação de certificado no seguinte arquivo , insira o caminho UNC e o nome de arquivo para a solicitação de certificado, por exemplo, \\FileServer01\Data\ExchCertRequest.req. Quando tiver concluído, selecione Concluir.

A solicitação de certificado aparece na lista de certificados do Exchange com um valor de status pendente. Para obter mais informações sobre as próximas etapas, consulte a seção Próximas etapas .

Usar o Shell de Gerenciamento do Exchange para criar uma nova solicitação de certificado

Para criar uma nova solicitação de certificado curinga, certificado SAN ou certificado para um único host, use a seguinte sintaxe:

  • Se você precisar enviar o conteúdo do arquivo de solicitação de certificado para a autoridade de certificação, use a seguinte sintaxe para criar um arquivo de solicitação codificado em 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))
    
  • Se você precisar enviar o arquivo de solicitação de certificado para a autoridade de certificação, use a seguinte sintaxe para criar um arquivo de solicitação codificado por 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)
    

Observação

A única parte necessária do valor do parâmetro X.500 SubjectName (a caixa Assunto do certificado) para executar o comando é CN=<HostNameOrFQDN>. Mas, você deve sempre incluir o C=<CountryOrRegion> valor. Caso contrário, talvez você não consiga renovar o certificado. Marque os requisitos da caixa Assunto da sua autoridade de certificação. Se você não usar o parâmetro KeySize , a solicitação de certificado terá uma chave pública RSA de 2048 bits. Se você não usar o parâmetro Server , o comando será executado no servidor Exchange local.

Para obter informações detalhadas sobre sintaxe e parâmetro, consulte New-ExchangeCertificate.

Solicitação de certificado curinga

Esses exemplos criam arquivos de solicitação de certificado para certificados curinga com as seguintes propriedades:

  • SubjectName: *.contoso.com no Estados Unidos, que requer o valor C=US,CN=*.contoso.com.
  • RequestFile: \\FileServer01\Data\Contoso Wildcard Cert.<cer or pfx>
  • FriendlyName: Contoso.com Certificado curinga

Para criar um arquivo de solicitação codificado em Base64 para o certificado curinga, execute o seguinte comando:

$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))

Para criar um arquivo de solicitação codificado por DER para o certificado curinga, execute o seguinte comando:

$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)

Solicitação de certificado SAN

Estes exemplos criam arquivos de solicitação de certificado para certificados SAN com as seguintes propriedades:

  • SubjectName: mail.contoso.com no Estados Unidos, que requer o valor C=US,CN=mail.contoso.com. Esse valor CN é automaticamente incluído no parâmetro DomainName (o campo Nome alternativo para o assunto).
  • Outros valores do campo Nome alternativo da entidade :
    • 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 Cert
  • DomainName: Lista de domínios separados por vírgula sem aspas

Para criar um arquivo de solicitação codificado em Base64 para o certificado SAN, execute o seguinte comando:

$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))

Para criar um arquivo de solicitação codificado por DER para o certificado SAN, execute o seguinte comando:

$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)

Solicitação de certificado de entidade única

Estes exemplos criam arquivos de solicitação de certificado para certificados de entidade única com as seguintes propriedades:

  • SubjectName: mail.contoso.com no Estados Unidos, que requer o valor C=US,CN=mail.contoso.com.
  • RequestFile: \\FileServer01\Data\Mail.contoso.com Cert.<cer or pfx>
  • FriendlyName: Mail.contoso.com Cert

Para criar um arquivo de solicitação codificado em Base64 para o certificado de entidade única, execute o seguinte comando:

$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))

Para criar um arquivo de solicitação codificado por DER para o certificado de entidade única, execute o seguinte comando:

$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)

Como você sabe que esses comandos funcionaram?

Para verificar se você criou uma nova solicitação de certificado com êxito, execute uma das seguintes etapas:

  • No EAC em Certificados de servidores>, verifique se o servidor em que você armazenou a solicitação de certificado está selecionado. A solicitação deve estar na lista de certificados com o valor do parâmetro Status definido como Solicitação pendente.

  • No Shell de Gerenciamento do Exchange no servidor em que você armazenou a solicitação de certificado, execute o seguinte comando:

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

Próximas etapas

O conteúdo de um arquivo de solicitação de certificado codificado em Base64 é semelhante ao exemplo descrito abaixo:

-----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-----

Você precisa enviar essas informações para a CA. A forma como você o envia depende da autoridade de certificação, mas, normalmente, você envia o conteúdo do arquivo em uma mensagem de email ou no formulário de solicitação de certificado no site da autoridade de certificação.

Se a autoridade de certificação exigir uma solicitação de certificado binário codificada por DER (você usou o cmdlet New-ExchangeCertificate com a opção BinaryEncoded ), normalmente enviará todo o arquivo de solicitação de certificado para a autoridade de certificação.

Depois de receber o certificado da autoridade de certificação, você precisa concluir a solicitação de certificado pendente. Para obter mais informações, consulte Concluir uma solicitação de certificado pendente do Exchange Server.