Créer une demande de certificat Exchange Server pour une autorité de certification

La création d’une demande de certificat est la première étape de l’installation d’un nouveau certificat sur un serveur Exchange pour configurer le chiffrement TLS (Transport Layer Security) pour un ou plusieurs services Exchange. Vous utilisez une demande de certificat (également appelée demande de signature de certificat ou CSR) pour obtenir un certificat auprès d'une autorité de certification. Les procédures sont les mêmes pour obtenir des certificats auprès d’une autorité de certification interne (par exemple, Active Directory Certificate Services) ou d’une autorité de certification commerciale. Une fois votre demande de certificat créée, vous devez envoyer les résultats à l’autorité de certification qu’elle utilisera pour délivrer le certificat à installer.

Vous pouvez créer des demandes de certificat dans le Centre d’administration Exchange (EAC) ou dans Exchange Management Shell. L’Assistant Nouveau certificat Exchange dans le CAE peut vous aider à sélectionner les noms d’hôte requis dans le certificat.

Ce qu'il faut savoir avant de commencer

  • Des autorisations doivent vous être attribuées avant de pouvoir exécuter cette procédure. Pour plus d’informations sur les autorisations dont vous avez besoin, consultez l’entrée « Sécurité des services d’accès au client » dans l’article Autorisations des clients et des appareils mobiles .

  • Durée d’exécution estimée : 5 minutes nécessaires pour finaliser la nouvelle demande de certificat. Toutefois, plus de temps est nécessaire avant que la demande n’entraîne l’émission d’un certificat. Pour plus d’informations, consultez la section Étapes suivantes.

  • Vous devez veiller à bien choisir le type de certificat souhaité et les noms d’hôtes requis dans le certificat. Pour plus d’informations, consultez Certificats numériques et chiffrement dans Exchange Server.

  • Vérifiez les conditions requises par l’autorité de certification pour effectuer une demande de certificat. Exchange génère un fichier de requête PKCS #10 (.req) qui utilise un encodage Base64 (par défaut) ou Distinguished Encoding Rules (DER), avec une clé publique RSA de 1024, 2048 (par défaut) ou 4 096 bits. Les options d’encodage et de clé publique sont disponibles uniquement dans Exchange Management Shell. Pour plus d'informations, consultez la rubrique New-ExchangeCertificate.

  • Dans le CENTRE d’administration Exchange, vous devez stocker le fichier de demande de certificat sur un chemin d’accès UNC (\\<Server>\<Share>\ ou \\<LocalServerName>\c$\). Dans l'Environnement de ligne de commande Exchange Management Shell, vous pouvez spécifier un chemin d'accès local.

  • Pour en savoir plus sur l'ouverture de l'environnement de ligne de commande Exchange Management Shell dans votre organisation Exchange locale, consultez la rubrique Open the Exchange Management Shell.

  • Pour plus d’informations sur les raccourcis clavier qui peuvent s’appliquer aux procédures décrites dans cet article, voir Raccourcis clavier dans le Centre d’administration Exchange.

Conseil

Vous rencontrez des difficultés ? Demandez de l'aide en participant aux forums Exchange. Visitez le forum à l'adresse : Exchange Server, Exchange Online ou Exchange Online Protection.

Utiliser le Centre d'administration Exchange (CAE) pour créer une demande de certificat

Remarque

La demande de certificat ECP a été déconseillée dans Exchange 2019 CU12 et versions ultérieures et dans Exchange 2016 CU23 et versions ultérieures.

  1. Ouvrez le Centre d’administration Exchange et accédez à Certificats de serveurs>.

  2. Dans la liste déroulante Sélectionner un serveur, sélectionnez le serveur Exchange sur lequel vous souhaitez installer le certificat, puis sélectionnez Ajouter l’icône Ajouter.

L'Assistant Nouveau certificat Exchange s'ouvre.

  1. Dans la page Cet Assistant crée un nouveau certificat ou un fichier de demande de certificat , vérifiez que l’option Créer une demande de certificat auprès d’une autorité de certification est sélectionnée, puis sélectionnez Suivant.

    Remarque

    Pour créer un certificat auto-signé, consultez Créer un certificat auto-signé Exchange Server.

  2. Dans la page Nom convivial de ce certificat , entrez un nom descriptif pour le certificat, puis sélectionnez Suivant.

  3. Sur la page Demander un certificat de caractère générique, choisissez l’une des options suivantes :

    • Si vous souhaitez un certificat générique : sélectionnez Demander un certificat générique, puis entrez le caractère générique (*) et le domaine dans la zone Domaine racine , par exemple *.contoso.com ou *.eu.contoso.com. Lorsque vous avez terminé, cliquez sur Suivant.
    • Si vous souhaitez un certificat san (autre nom d’objet) : n’effectuez aucune sélection sur cette page, puis sélectionnez Suivant.
    • Si vous souhaitez un certificat pour un seul hôte : n’effectuez aucune sélection sur cette page, puis sélectionnez Suivant.
  4. Dans la page Stocker la demande de certificat sur ce serveur , sélectionnez Parcourir , puis sélectionnez le serveur Exchange sur lequel vous souhaitez stocker la demande de certificat (où vous souhaitez installer le certificat). Ensuite, sélectionnez OK et Suivant.

    Remarque

    Les étapes 7 et 8 s’appliquent uniquement aux demandes de certificat SAN ou pour un seul hôte. Si vous avez sélectionné Demander un certificat de caractère générique, passez à l’étape 9.

La page Spécifier les domaines que vous souhaitez inclure dans votre certificat s’affiche. Cette page est essentiellement une feuille de calcul qui vous aide à déterminer les noms d’hôtes internes et externes requis dans le certificat pour les services Exchange suivants :

  • Outlook sur le web
  • Génération de carnet d'adresses en mode hors connexion
  • Services Web Exchange
  • Exchange ActiveSync
  • Découverte automatique
  • POP
  • IMAP
  • Outlook Anywhere
  1. Entrez une valeur pour chaque service en fonction de l’emplacement (interne ou externe). Ensuite, l’Assistant détermine les noms d’hôte requis dans le certificat, et les informations sont affichées sur la page suivante.

  2. Si vous souhaitez modifier une valeur pour un service, sélectionnez Modifier (icône Modifier) et entrez la valeur du nom d’hôte que vous souhaitez utiliser (ou supprimez la valeur). Lorsque vous avez terminé, cliquez sur Suivant.

    Remarque

    Si vous avez déjà déterminé les noms d'hôte requis dans le certificat, vous n'avez pas besoin de remplir les informations sur cette page. Au lieu de cela, sélectionnez Suivant pour entrer manuellement les noms d’hôtes sur la page suivante.

La page En fonction de vos sélections, les domaines suivants seront inclus dans votre page de certificat s’affiche. Cette page répertorie les noms d’hôtes qui seront inclus dans la demande de certificat. Le nom d’hôte utilisé dans la zone Objet du certificat est en gras, ce qui peut être difficile à voir si ce nom d’hôte est sélectionné.

  1. Vérifiez les entrées de nom d’hôte requises dans le certificat en faisant référence aux sélections effectuées sur la page précédente.

    Si vous ne souhaitez pas prendre en compte cette liste de noms d’hôte à inclure dans la demande de certificat, passez à l’étape 10.

  2. Ignorez les valeurs de la dernière page et ajoutez, modifiez ou supprimez des valeurs de nom d’hôte en effectuant les étapes suivantes : a. Si vous souhaitez un certificat SAN : pour sélectionner le nom d’hôte du champ Objet du certificat, sélectionnez la valeur et sélectionnez Définir comme nom commun (coche). La valeur doit maintenant apparaître en gras. b. Si vous souhaitez un certificat pour un nom d’hôte unique : sélectionnez les autres valeurs une par une, puis sélectionnez Supprimer (icône Supprimer).

    Remarque

    Vous ne pouvez pas supprimer la valeur de nom d’hôte en gras qui sera utilisée pour la zone Objet du certificat. Tout d’abord, vous devez sélectionner ou ajouter un autre nom d’hôte, puis cocher la case Définir comme nom commun . Les modifications que vous apportez sur cette page peuvent être perdues si vous sélectionnez le bouton Précédent .

  3. Sur la page Spécifiez les informations relatives à votre organisation, entrez les valeurs suivantes :

  • Nom de l'organisation
  • Nom du service
  • Ville/localité
  • État/Province
  • Pays/Région

Remarque

Ces valeurs X.500 sont incluses dans la zone Objet du certificat. Bien qu’une valeur soit requise dans chaque champ avant de pouvoir continuer, l’autorité de certification peut ne pas se soucier de certains champs (par exemple, nom du service), tandis que d’autres champs sont importants (par exemple, nom du pays/de la région et nom de l’organisation). Cochez la case Subject requirements de votre autorité de certification.

  1. Lorsque vous avez terminé, cliquez sur Suivant.

  2. Dans la page Enregistrer la demande de certificat dans le fichier suivant, entrez le chemin d’accès UNC et le nom de fichier de la demande de certificat, par exemple . \\FileServer01\Data\ExchCertRequest.req Lorsque vous avez terminé, sélectionnez Terminer.

La demande de certificat s'affiche dans la liste des certificats Exchange avec l'état En attente. Pour plus d’informations sur les étapes suivantes, consultez la section Étapes suivantes .

Utiliser Exchange Management Shell pour créer une demande de certificat

Pour créer une demande pour un certificat générique, un certificat SAN ou un certificat pour un seul hôte, utilisez la syntaxe suivante :

  • Si vous devez envoyer le contenu du fichier de demande de certificat à l’autorité de certification, utilisez la syntaxe suivante pour créer un fichier de demande encodé en 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))
    
  • Si vous devez envoyer le fichier de demande de certificat à l’autorité de certification, utilisez la syntaxe suivante pour créer un fichier de demande encodé 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)
    

Remarque

La seule partie requise de la valeur du paramètre SubjectName X.500 (zone Objet du certificat) pour exécuter la commande est CN=<HostNameOrFQDN>. Toutefois, vous devez toujours inclure la C=<CountryOrRegion> valeur. Sinon, vous risquez de ne pas pouvoir renouveler le certificat. Cochez la case Subject requirements de votre autorité de certification. Si vous n’utilisez pas le paramètre KeySize , la demande de certificat a une clé publique RSA 2048 bits. Si vous n’utilisez pas le paramètre Server , la commande est exécutée sur le serveur Exchange local.

Pour obtenir des informations détaillées sur la syntaxe et les paramètres, consultez la rubrique New-ExchangeCertificate.

Demande de certificat générique

Ces exemples créent des fichiers de demande de certificat pour les certificats génériques avec les propriétés suivantes :

  • SubjectName : *.contoso.com dans le États-Unis, qui nécessite la valeur C=US,CN=*.contoso.com.
  • RequestFile : \\FileServer01\Data\Contoso Wildcard Cert.<cer or pfx>
  • FriendlyName : certificat générique Contoso.com

Pour créer un fichier de requête encodé en Base64 pour le certificat générique, exécutez la commande suivante :

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

Pour créer un fichier de requête encodé DER pour le certificat générique, exécutez la commande suivante :

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

Demande de certificat SAN

Ces exemples créent des fichiers de demande de certificat pour les certificats SAN avec les propriétés suivantes :

  • SubjectName : mail.contoso.com dans le États-Unis, ce qui nécessite la valeur C=US,CN=mail.contoso.com. Cette valeur CN est automatiquement incluse dans le paramètre DomainName (champ Autre nom de l’objet ).
  • Autres valeurs de champ Autre nom de l’objet :
    • 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 : liste de domaines séparés par des virgules sans guillemets

Pour créer un fichier de requête encodé en Base64 pour le certificat SAN, exécutez la commande suivante :

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

Pour créer un fichier de requête encodé DER pour le certificat SAN, exécutez la commande suivante :

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

Demande de certificat à objet unique

Ces exemples créent des fichiers de demande de certificat pour les certificats à objet unique avec les propriétés suivantes :

  • SubjectName : mail.contoso.com dans le États-Unis, ce qui nécessite la valeur C=US,CN=mail.contoso.com.
  • RequestFile : \\FileServer01\Data\Mail.contoso.com Cert.<cer or pfx>
  • FriendlyName : Mail.contoso.com Cert

Pour créer un fichier de requête codé en Base64 pour le certificat d’objet unique, exécutez la commande suivante :

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

Pour créer un fichier de requête encodé DER pour le certificat à objet unique, exécutez la commande suivante :

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

Comment savez-vous que ces commandes ont fonctionné ?

Pour vérifier que vous avez correctement créé une demande de certificat, effectuez l’une des étapes suivantes :

  • Dans le centre d’administration Exchange surCertificats de serveurs>, vérifiez si le serveur sur lequel vous avez stocké la demande de certificat est sélectionné. La demande doit figurer dans la liste des certificats avec la valeur du paramètre Status définie sur Demande en attente.

  • Dans l'Environnement de ligne de commande Exchange Management Shell du serveur où se trouve la demande de certificat, exécutez la commande suivante :

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

Prochaines étapes

Le contenu d’un fichier de demande de certificat codé en Base64 ressemble à l’exemple décrit ci-dessous :

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

Vous devez envoyer ces informations à l’autorité de certification. La façon dont vous l’envoyez dépend de l’autorité de certification, mais en règle générale, vous envoyez le contenu du fichier dans un e-mail ou dans le formulaire de demande de certificat sur le site web de l’autorité de certification.

Si l’autorité de certification exige une demande de certificat binaire codée DER (cmdlet New-ExchangeCertificate utilisée avec le commutateur BinaryEncoded), vous devez généralement envoyer la totalité du fichier de demande de certificat à l’autorité de certification.

Quand vous recevez le certificat de l’autorité de certification, vous devez finaliser la demande de certificat en attente. Pour plus d’informations, consultez Terminer une demande de certificat Exchange Server en attente.