New-ExchangeCertificate

 

S’applique à :Exchange Server 2016

Dernière rubrique modifiée :2016-05-24

Cette cmdlet est disponible uniquement dans Exchange Server 2016 sur site.

Utilisez la cmdlet New-ExchangeCertificate pour créer et renouveler les certificats auto-signés, ainsi que créer des demandes de certificat (également appelées demandes de signature de certificat) pour les nouveaux certificats et les renouvellements de certificat par une autorité de certification.

Pour plus d'informations sur les jeux de paramètres dans la section Syntaxe ci-après, voir SyntaxeSyntaxe de cmdlet Exchange.

New-ExchangeCertificate [-BinaryEncoded <SwitchParameter>] [-GenerateRequest <SwitchParameter>] [-RequestFile <String>] <COMMON PARAMETERS>
New-ExchangeCertificate [-Services <None | IMAP | POP | UM | IIS | SMTP | Federation | UMCallRouter>] <COMMON PARAMETERS>
COMMON PARAMETERS: [-Confirm [<SwitchParameter>]] [-DomainController <Fqdn>] [-DomainName <MultiValuedProperty>] [-Force <SwitchParameter>] [-FriendlyName <String>] [-IncludeAcceptedDomains <SwitchParameter>] [-IncludeAutoDiscover <SwitchParameter>] [-IncludeServerFQDN <SwitchParameter>] [-IncludeServerNetBIOSName <SwitchParameter>] [-Instance <X509Certificate2>] [-KeySize <Int32>] [-PrivateKeyExportable <$true | $false>] [-Server <ServerIdParameter>] [-SubjectKeyIdentifier <String>] [-SubjectName <X500DistinguishedName>] [-WhatIf [<SwitchParameter>]]

Cet exemple crée un certificat auto-signé avec les paramètres suivants :

  • La valeur Subject est CN=<ServerName> (par exemple, CN=Mailbox01).

  • La valeur Domains (noms d’objet alternatifs) est <ServerName>, <ServerFQDN> (par exemple, Mailbox01,Mailbox01.contoso.com).

  • La valeur Services est IMAP,POP,SMTP

  • Étant donné que la valeurServices contient SMTP :

    • Le groupe de sécurité local des Services du réseau dispose également de l’accès en lecture à la clé privée du certificat.

    • Le certificat est publié sur Active Directory, de sorte que la confiance directe Exchange puisse valider l’authenticité du serveur pour le certificat Mutual TLS. Cela se produit car la valeur Subject contient le nom du serveur.

New-ExchangeCertificate
noteRemarque :
Si vous ne souhaitez pas que ce certificat remplace le certificat auto-signé existant qui a été créé lors de l’installation d’Exchange, veillez à sélectionner « Non » lorsque l’invite vous demandant de remplacer le certificat SMTP par défaut s’affiche.

Cet exemple crée une demande de certificat pour une autorité de certification dont les paramètres sont les suivants :

  • La demande est codée au format Base64.

  • La sortie est affichée à l’écran et est également écrite dans le fichier texte C:\Cert Requests\woodgrovebank.req.

  • La valeur Subject est c=US,o=Woodgrove Bank,cn=mail.woodgrovebank.com

  • La valeur Domains (noms d’objet alternatifs) contient les valeurs supplémentaires autodiscover.woodgrovebank.com, mail.fabrikam.com et autodiscover.fabrikam.com.

New-ExchangeCertificate -GenerateRequest -RequestFile "C:\Cert Requests\woodgrovebank.req" -SubjectName "c=US,o=Woodgrove Bank,cn=mail.woodgrovebank.com" -DomainName autodiscover.woodgrovebank.com,mail.fabrikam.com,autodiscover.fabrikam.com 

Après avoir créé la demande de certificat, vous envoyez la sortie à l’autorité de certification. Après avoir reçu le certificat de l’autorité de certification, vous installez le certificat à l’aide de la cmdlet Import-ExchangeCertificate et vous affectez le certificat aux services Exchange à l’aide de la cmdlet Enable-ExchangeCertificate.

noteRemarque :
Si l’autorité de certification requiert une demande de certificat codée DER, utilisez le commutateur BinaryEncoding.

Cet exemple renouvelle le certificat auto-signé existant dont la valeur d’empreinte numérique est c4248cd7065c87cb942d60f7293feb7d533a4afc. Vous pouvez rechercher la valeur d’empreinte numérique à l’aide de la cmdlet Get-ExchangeCertificate . La définition du paramètre PrivateKeyExportablesur la valeur$true permet au certificat auto-signé renouvelé d’être exporté à partir du serveur (et importé sur d’autres serveurs).

Get-ExchangeCertificate -Identity c4248cd7065c87cb942d60f7293feb7d533a4afc | New-ExchangeCertificate -PrivateKeyExportable $true

Cet exemple crée une demande de renouvellement d’un certificat existant émis par une autorité de certification. La demande de certificat comporte les paramètres suivants :

  • La valeur de l’empreinte numérique du certificat existant est 8A141F7F2BBA8041973399723BD2598D2ED2D831. Vous pouvez rechercher la valeur d’empreinte numérique à l’aide de la cmdlet Get-ExchangeCertificate.

  • La demande est codée au format Base64.

  • La sortie est affichée à l’écran et est également écrite dans le fichier texte C:\Cert Requests\fabrikam_renewal.req.

Get-ExchangeCertificate -Identity 8A141F7F2BBA8041973399723BD2598D2ED2D831 | New-ExchangeCertificate -GenerateRequest -RequestFile "C:\Cert Requests\fabrikam_renewal.req"

Après avoir créé la demande de renouvellement du certificat, vous envoyez la sortie à l’autorité de certification. Après avoir reçu le certificat renouvelé de l’autorité de certification, vous installez le certificat à l’aide de la cmdlet Import-ExchangeCertificate.

Exchange utilise des certificats pour le chiffrement SSL et TLS.

noteRemarque :
Le protocole SSL (Secure Sockets Layer) est remplacé par le protocole TLS (Transport Layer Security) comme protocole utilisé pour chiffrer les données envoyées entre des systèmes informatiques. Ils sont si étroitement liés que les termes « SSL » et « TLS » (sans versions) sont souvent utilisés indifféremment. En raison de cette similitude, les références à « SSL » dans les rubriques concernant Exchange, dans le Centre d’administration Exchange et dans l’Environnement de ligne de commande Exchange Management Shell recouvrent souvent les protocoles SSL et TLS. En règle générale, « SSL » fait référence au véritable protocole SSL uniquement lorsqu’une version est également fournie (par exemple, SSL 3.0). Pour savoir pourquoi vous devez désactiver le protocole SSL et passer au protocole TLS, consultez l’article relatif à la protection contre la vulnérabilité du protocole SSL 3.0.

Des autorisations doivent vous être attribuées avant de pouvoir exécuter cette cmdlet. Bien que tous les paramètres de cette cmdlet soient répertoriés dans cette rubrique, il est possible que vous n’ayez pas accès à certains paramètres s’ils ne sont pas inclus dans les autorisations qui vous ont été attribuées. Pour voir les autorisations qui vous sont nécessaires, voir Entrée « Gestion des certificats » dans la rubrique Infrastructure Exchange et des autorisations de PowerShell.

 

Paramètre Obligatoire Type Description

BinaryEncoded

Facultatif

System.Management.Automation.SwitchParameter

Le commutateur BinaryEncoded indique s’il faut coder la nouvelle demande de certificat à l’aide des DER (Distinguished Encoding Rules). Il n’est pas nécessaire de spécifier une valeur pour ce commutateur.

Si vous n’utilisez pas ce commutateur, la demande est codée au format Base64.

Ce commutateur est disponible uniquement si vous utilisez le commutateur GenerateRequest.

Pour les demandes codées au format Base64, vous envoyez le contenu du fichier à l’autorité de certification. Pour les demandes codées DER, vous envoyez le fichier de certificat.

Confirm

Facultatif

System.Management.Automation.SwitchParameter

Le commutateur Confirm spécifie s’il faut afficher ou masquer l’invite de confirmation. L’incidence de ce commutateur sur la cmdlet varie selon que la cmdlet requiert une confirmation avant de poursuivre.

  • Les cmdlets destructives (par exemple, les cmdlets Remove-*) ont une pause intégrée qui vous oblige à confirmer la commande avant de poursuivre. Pour ces cmdlets, vous pouvez ignorer l’invite de confirmation à l’aide de cette syntaxe exacte : -Confirm:$false.

  • La plupart des autres cmdlets (par exemple, les cmdlets New-* et Set-*) n’ont pas de pause intégrée. Pour ces cmdlets, la spécification du commutateur Confirm sans valeur introduit une pause qui vous oblige à confirmer la commande avant de poursuivre.

DomainController

Facultatif

Microsoft.Exchange.Data.Fqdn

Le paramètre DomainController spécifie le contrôleur de domaine qui est utilisé par cette cmdlet pour lire ou écrire les données dans Active Directory. Vous identifiez le contrôleur de domaine par son nom de domaine complet (FQDN). Par exemple : dc01.contoso.com.

Le paramètre DomainController n’est pas pris en charge sur les serveurs de transport Edge. Un serveur de transport Edge utilise l’instance locale de Active Directory Lightweight Directory Services (AD LDS) pour lire et écrire des données.

DomainName

Facultatif

Microsoft.Exchange.Data.MultiValuedProperty

Le paramètre DomainName spécifie un ou plusieurs noms de domaine complets ou noms de serveurs pour le champ Subject Alternative Name (également appelé Autre nom de l’objet ou SAN) de la demande de certificat ou du certificat auto-signé.

Si la valeur du champ Subject du certificat ne correspond pas au nom du serveur de destination ou au nom de domaine complet, le demandeur recherche une correspondance dans le champ Subject Alternative Name.

En règle générale, les valeurs incluent les noms de serveur (par exemple, Mailbox01) et les noms de domaine complets (par exemple, mail.contoso.com). Vous pouvez spécifier plusieurs valeurs séparées par des virgules. Les valeurs peuvent contenir les caractères de a à z, les chiffres de 0 à 9 et le trait d’union (-). Le nom du domaine ne peut pas comporter plus de 255 caractères.

La valeur par défaut inclut le nom et le nom de domaine complet du serveur Exchange lorsque les deux conditions suivantes sont remplies :

  • Vous n’utilisez pas ce paramètre.

  • Vous n’utilisez pas l’un de ces paramètres :

    IncludeAcceptedDomains

    IncludeAutoDiscover

    IncludeServerFQDN

    IncludeServerNetBIOSName

Force

Facultatif

System.Management.Automation.SwitchParameter

Le commutateur Force spécifie s’il faut supprimer les messages d’avertissement ou de confirmation. Vous pouvez utiliser ce commutateur pour exécuter des tâches par programme, lorsqu’une intervention administrative est inappropriée. Il n’est pas nécessaire de spécifier une valeur pour ce commutateur.

Par défaut, lorsque vous créez un certificat auto-signé qui est activé pour SMTP (aucun paramètre Services ou le paramètre Services contient la valeur SMTP), vous êtes invité à remplacer le certificat SMTP par défaut existant par celui que vous êtes en train de créer. Si vous utilisez le commutateur Force, le nouveau certificat SMTP remplace automatiquement le certificat SMTP existant sans demande préalable.

FriendlyName

Facultatif

System.String

Le paramètre FriendlyName spécifie un nom convivial pour la demande de certificat ou le certificat auto-signé. La valeur doit compter moins de 64 caractères.

La valeur par défaut est Microsoft Exchange.

GenerateRequest

Facultatif

System.Management.Automation.SwitchParameter

Le commutateur GenerateRequest spécifie que vous créez une demande de certificat pour une autorité de certification. Il n’est pas nécessaire de spécifier une valeur pour ce commutateur.

Ce commutateur, conjointement avec le paramètre RequestFile, génère une demande de certificat PKCS #10 que vous envoyez à l’autorité de certification. La manière dont vous envoyez les informations dépend de l’autorité de certification, mais en général, pour les demandes codées en Base64, vous collez le contenu dans un message électronique ou dans le formulaire de demande sur le site web de l’autorité de certification.

Après avoir installé le certificat émis par l’autorité de certification à l’aide de la cmdlet Import-ExchangeCertificate, vous utilisez la cmdlet Enable-ExchangeCertficate pour activer le certificat pour les services Exchange.

Si vous n’utilisez pas ce commutateur, la commande crée un certificat auto-signé sur le serveur Exchange.

IncludeAcceptedDomains

Facultatif

System.Management.Automation.SwitchParameter

Le commutateur IncludeAcceptedDomains spécifie que tous les domaines acceptés dans l’organisation Exchange sont inclus dans le champ Subject Alternative Name de la demande de certificat ou du certificat auto-signé. Il n’est pas nécessaire de spécifier une valeur pour ce commutateur.

Lorsque vous utilisez ce commutateur :

  • Si vous avez déjà ajouté un domaine accepté au paramètre DomainName, la valeur n’est pas dupliquée dans le champ Subject Alternative Name.

  • Pour les nouveaux certificats auto-signés, si vous n’utilisez pas le paramètre Services, le certificat est uniquement attribué à SMTP.

IncludeAutoDiscover

Facultatif

System.Management.Automation.SwitchParameter

Le commutateur IncludeAutoDiscover spécifie si une valeur Subject Alternative Name avec le préfixe autodiscover doit être ajoutée pour chaque domaine accepté dans l’organisation Exchange. Il n’est pas nécessaire de spécifier une valeur pour ce commutateur.

Par exemple, si l’organisation détient les domaines acceptés woodgrovebank.com et woodgrovebank.co.uk, l’utilisation de ce commutateur entraînera l’ajout des valeurs suivantes dans le champ Subject Alternative Name :

  • autodiscover.woodgrovebank.com

  • autodiscover.woodgrovebank.co.uk

Lorsque vous utilisez ce commutateur :

  • Si vous avez déjà ajouté la valeur autodiscover.<AcceptedDomain> au paramètre DomainName, la valeur n’est pas dupliquée dans le champ Subject Alternative Name.

  • Pour les nouveaux certificats auto-signés, si vous n’utilisez pas le paramètre Services, le certificat est uniquement attribué à SMTP.

IncludeServerFQDN

Facultatif

System.Management.Automation.SwitchParameter

Le commutateur IncludeServerFQDN spécifie que le nom de domaine complet du serveur Exchange est inclus dans le champ Subject Alternative Name de la nouvelle demande de certificat ou du certificat auto-signé. Il n’est pas nécessaire de spécifier une valeur pour ce commutateur.

Lorsque vous utilisez ce commutateur et que vous avez déjà ajouté le nom de domaine complet du serveur au paramètre DomainName, la valeur n’est pas dupliquée dans le champ Subject Alternative Name.

IncludeServerNetBIOSName

Facultatif

System.Management.Automation.SwitchParameter

Le commutateur IncludeServerNetBIOSName spécifie s’il faut inclure le nom NetBIOS du serveur Exchange dans le champ Subject Alternative Name de la nouvelle demande de certificat ou du certificat auto-signé. Il n’est pas nécessaire de spécifier une valeur pour ce commutateur.

Lorsque vous utilisez ce commutateur et que vous avez déjà ajouté le nom NetBIOS du serveur au paramètre DomainName, la valeur n’est pas dupliquée dans le champ Subject Alternative Name.

Instance

Facultatif

System.Security.Cryptography.X509Certificates.X509Certificate2

Le paramètre Instance n’est plus utilisé et son utilisation est déconseillée.

KeySize

Facultatif

System.Int32

Le paramètre KeySize spécifie la taille (en bits) de la clé publique RSA associée à la nouvelle demande de certificat ou au certificat auto-signé. Les valeurs valides sont les suivantes :

  • 1024

  • 2048   Il s’agit de la valeur par défaut.

  • 4096

PrivateKeyExportable

Facultatif

System.Boolean

Le paramètre PrivateKeyExportable spécifie si le nouveau certificat auto-signé dispose d’une clé privée exportable et définit si vous pouvez exporter le certificat à partir du serveur (et importer le certificat sur d’autres serveurs). Les valeurs valides sont les suivantes :

  • $true   La clé privée étant exportable, vous pouvez exporter le certificat à partir du serveur.

  • $false   La clé privée n’étant pas exportable, vous ne pouvez pas exporter le certificat. Il s’agit de la valeur par défaut.

Ce paramètre est pertinent uniquement pour les nouveaux certificats auto-signés.

RequestFile

Facultatif

System.String

Le paramètre RequestFile spécifie le nom et le chemin du fichier de demande de certificat. Le fichier contient les mêmes informations qui sont affichées à l’écran lorsque vous générez une demande de certificat codée en Base64 (vous n’utilisez pas le commutateur BinaryEncoded).

Vous pouvez utiliser un chemin d’accès UNC (\\<Server>\<Share>) ou un chemin d’accès local. Si la valeur contient des espaces, placez-la entre guillemets (").

Vous pouvez utiliser ce paramètre uniquement avec le commutateur GenerateRequest.

Server

Facultatif

Microsoft.Exchange.Configuration.Tasks.ServerIdParameter

Le paramètre Server définit le serveur Exchange sur lequel vous souhaitez exécuter cette commande. Vous pouvez utiliser n’importe quelle valeur qui identifie uniquement le serveur. Par exemple :

  • Nom

  • FQDN

  • Nom unique (DN)

  • DN Exchange hérité

Si vous n’utilisez pas ce paramètre, la commande est exécutée sur le serveur local.

Services

Facultatif

Microsoft.Exchange.Management.SystemConfigurationTasks.AllowedServices

Le paramètre Services spécifie les services Exchange pour lesquels le nouveau certificat auto-signé est activé. Les valeurs valides sont les suivantes :

  • None   Vous pouvez activer le certificat pour les services Exchange ultérieurement à l’aide de la cmdlet Enable-ExchangeCertificate.

  • Fédération

  • IIS

  • IMAP   N’activez pas de certificat avec caractères génériques pour le service IMAP4. À la place, utilisez la cmdlet Set-ImapSettings pour configurer le nom de domaine complet que les clients utilisent pour se connecter au service IMAP4.

  • POP   N’activez pas de certificat avec caractères génériques pour le service POP3. À la place, utilisez la cmdlet Set-PopSettings pour configurer le nom de domaine complet que les clients utilisent pour se connecter au service POP3.

  • SMTP   Lorsque vous activez un certificat pour SMTP, vous êtes invité à remplacer le certificat auto-signé Exchange par défaut qui est utilisé pour chiffrer le trafic SMTP dans Exchange en interne. Si vous souhaitez remplacer le certificat par défaut sans l’invite de confirmation, utilisez le commutateur Force.

  • UM   Cette valeur requiert que le paramètre UMStartupMode sur la cmdlet Set-UMService soit défini sur TLS ou Dual. Si le paramètre UMStartupMode est défini sur la valeur par défaut de TCP, vous ne pouvez pas activer le certificat pour le service de messagerie unifiée.

  • UMCallRouter   Cette valeur requiert que le paramètre UMStartupMode sur la cmdlet Set-UMCallRouterService soit défini sur TLS ou Dual. Si le paramètre UMStartupMode est défini sur la valeur par défaut TCP, vous ne pouvez pas activer le certificat pour le routeur d’appels de messagerie unifiée.

Vous pouvez spécifier plusieurs valeurs séparées par des virgules. Les valeurs valides sont IMAP, POP et SMTP.

Vous ne pouvez pas utiliser ce paramètre avec le commutateur GenerateRequest.

noteRemarque :
Une fois que vous activez un certificat pour un service, vous ne pouvez pas supprimer le service à partir du certificat.

SubjectKeyIdentifier

Facultatif

System.String

Le paramètre SubjectKeyIdentifier spécifie l’identificateur de clé de l’objet unique pour un nouveau certificat auto-signé. Par exemple, exécutez la commande $ski = [System.Guid]::NewGuid().ToString("N") et utilisez la valeur $ski pour ce paramètre.

SubjectName

Facultatif

System.Security.Cryptography.X509Certificates.X500DistinguishedName

Le paramètre SubjectName spécifie le champ Subject de la demande de certificat ou du certificat auto-signé.

Tous les certificats requièrent une valeur pour le champ Subject et seule une valeur est autorisée. Le demandeur tente de faire correspondre le nom du serveur de destination ou le nom de domaine complet avec la valeur de nom commun (CN) de l’objet.

Ce paramètre utilise la syntaxe : [C=<CountryOrRegion>,S=<StateOrProvince>,L=LocalityOrCity,O=<Organization>,OU=<Department>],CN=<HostNameOrFQDN>. Bien que la seule valeur requise soit CN=<HostNameOrFQDN>, vous devez toujours inclure C=<CountryOrRegion> pour les demandes de certificat, mais d’autres valeurs peuvent également être requises par l’autorité de certification.

Par exemple, si vous souhaitez que l’objet du certificat soit mail.contoso.com aux États-Unis, vous pouvez utiliser l’une des valeurs suivantes :

  • C=US,S=WA,L=Redmond,O=Contoso,OU=IT,CN=mail.contoso.com

  • C=US,O=Contoso,CN=mail.contoso.com

  • C=US,CN=mail.contoso.com

Si vous n’utilisez pas ce paramètre, la valeur par défaut est le nom du serveur Exchange sur lequel vous exécutez la commande (par exemple, CN=Mailbox01).

Pour un certificat d’autre nom de l’objet (SAN), vous devez choisir l’une des valeurs du paramètre DomainName à utiliser dans la valeur SubjectName. En fait, la valeur CN que vous spécifiez pour SubjectName est automatiquement incluse dans les valeurs DomainName.

Pour un certificat avec caractères génériques, utilisez une valeur SubjectName qui contient le caractère générique (*). Par exemple, C=US,CN=*.contoso.com.

WhatIf

Facultatif

System.Management.Automation.SwitchParameter

Le commutateur WhatIf simule les actions de la commande. Vous pouvez utiliser ce commutateur pour afficher les modifications qui se produiraient sans réellement appliquer ces modifications. Il n’est pas nécessaire de spécifier une valeur pour ce commutateur.

Pour visualiser les types d’entrées acceptés par cette cmdlet, consultez la rubrique Types d’entrée et de sortie de la cmdlet d’Exchange Management Shell. Si le champ Type d’entrée pour une cmdlet est vide, la cmdlet n’accepte pas les données d’entrée.

Pour visualiser les types de retours, également appelés types de sorties, acceptés par cette cmdlet, consultez la rubrique Types d’entrée et de sortie de la cmdlet d’Exchange Management Shell. Si le champ Type de sortie est vide, la cmdlet ne renvoie pas de données.

 
Afficher: