Partager via


Sélection des certificats STARTTLS entrants

S’APPLIQUE À :oui-img-162016 oui-img-192019 oui-img-se Édition d’abonnement

Importante

Microsoft Exchange Server 2016 et Microsoft Exchange Server 2019 prendront fin le 14 octobre 2025. Pour rester pris en charge, vous devez effectuer une mise à niveau. Pour plus d’informations, consultez Fin du support pour Exchange 2016 et Exchange Server 2019.

Cet article décrit le processus de sélection de certificat pour startTLS entrant qui est effectué sur le serveur de réception. Le processus de sélection de certificat STARTTLS entrant est déclenché lorsqu’un serveur SMTP (Simple Mail Transfer Protocol) tente d’ouvrir une session SMTP sécurisée avec le serveur de boîtes aux lettres Microsoft Exchange ou le serveur de transport Microsoft Edge afin que l’un de ces serveurs serve de serveur de réception et lance un processus de sélection de certificat pour déterminer le certificat à utiliser dans la négociation TLS.

La figure suivante illustre les étapes du processus de sélection de certificat pour STARTTLS entrant :

Capture d’écran montrant les étapes du processus de sélection d’un certificat starttls entrant.

Les étapes décrites dans le diagramme précédent sont expliquées ici :

  1. Une fois la session SMTP établie, Microsoft Exchange appelle un processus pour charger les certificats.

  2. Dans la fonction « charger le certificat », le connecteur de réception auquel la session est connectée est vérifié pour voir si la propriété AuthMechanism est définie sur une valeur TLS en exécutant la commande suivante :

    Get-ReceiveConnector -Identity <Receive Connector Identity> | fl AuthMechanism
    

    Si la valeur de la propriété AuthMechanism est null, vous pouvez définir la valeur sur TLS en exécutant la commande suivante :

    $AuthMechanism = (Get-ReceiveConnector -Identity <Receive Connector Identity>).AuthMechanism
    $AuthMechanism += "TLS"
    Set-ReceiveConnector -Identity <Receive Connector Identity> -AuthMechanism $AuthMechanism
    

    Vous pouvez également définir la valeur de la propriété AuthMechanism sur TLS en sélectionnant Tls (Transport Security Layer) sous l’onglet Authentification d’un connecteur de réception donné.

    Si TLS n’est pas activé en tant que mécanisme d’authentification, le serveur ne publie pas X-STARTTLS sur le serveur d’envoi dans la session SMTP, et aucun certificat n’est chargé.

  3. Le processus de sélection de certificat récupère la valeur TlsCertificateName à partir de la configuration du connecteur De réception lorsque vous exécutez la commande suivante :

    Get-ReceiveConnector -Identity <Receive Connector Identity> | fl TlsCertificateName
    

    Vous pouvez également définir la valeur TlsCertificateName sur le connecteur Receive en effectuant les étapes suivantes :

    1. Récupération de l’empreinte d’un certificat tiers compatible SMTP valide.

    2. Exécution de la commande suivante :

      $TLSCert = Get-ExchangeCertificate -Thumbprint <thumbprint retrieved in the previous step>
      $TLSCertName = "<I>$($TLSCert.Issuer)<S>$($TLSCert.Subject)"
      Set-ReceiveConnector -Identity <Receive Connector Identity> -TlsCertificateName $TlsCertName
      
  4. Si la valeur TlsCertificateName sur le connecteur de réception est null, le nom de domaine complet (FQDN) est récupéré. Si le nom de domaine complet est null, vous pouvez définir la valeur FQDN.

    Pour récupérer ou définir la valeur du nom de domaine complet, procédez comme suit :

    1. Récupérez la valeur du nom de domaine complet en exécutant la commande suivante :

      Get-ReceiveConnector -Identity <Receive Connector Identity> | fl fqdn
      
    2. Définissez la valeur du nom de domaine complet en exécutant la commande suivante :

      Set-ReceiveConnector -Identity <Receive Connector Identity> -fqdn <fqdn value>
      
  5. Si la valeur FQDN du connecteur de réception est null, le FQDN physique du serveur est extrait.

  6. Les certificats correspondant à TlsCertificateName/FQDN sont recherchés dans le magasin de certificats de l’ordinateur local. Si aucun certificat n’est trouvé, le serveur ne publie pas X-STARTTLS, aucun certificat n’est chargé et l’ID d’événement 12014 est enregistré dans le journal des applications.

  7. Dans le magasin de certificats, une recherche est implémentée pour tous les certificats qui ont un tlsCertificateName/FQDN correspondant. Dans cette liste, une liste de certificats éligibles est identifiée. Ces certificats éligibles doivent répondre aux critères suivants :

    • Le certificat est un certificat X.509 version 3 ou ultérieure.

    • Une clé privée est associée au certificat.

    • Le champ Autre nom de l’objet ou de l’objet contient le tlsCertificateName/FQDN qui a été récupéré dans les étapes précédentes.

    • Le certificat est activé pour une utilisation SSL (Secure Sockets Layer)/TLS ; plus précisément, le service SMTP a été activé pour ce certificat à l’aide de l’applet de Enable-ExchangeCertificate commande . Vous pouvez vérifier si le service SMTP est activé en exécutant la commande suivante pour récupérer leurs valeurs :

      Get-ExchangeCertificate -Thumbprint <value of the thumbprint> | fl Services
      

      Si vous constatez que le service SMTP n’a pas été activé, vous pouvez activer manuellement le service SMTP en exécutant la commande suivante :

      Enable-ExchangeCertificate -Thumbprint <value of the thumbprint> -Services "SMTP"
      

      Remarque

      Si le service SMTP n’est pas activé pour le certificat TlsCertificateName/FQDN, Exchange choisit toujours ce certificat pour STARTTLS, mais la communication TLS échoue ultérieurement.

  8. Si aucun certificat éligible n’est trouvé après ces vérifications, le serveur ne peut pas publier X-STARTTLS sans aucun certificat chargé, et l’ID d’événement 12014 est enregistré dans le journal des applications.

  9. Si des certificats éligibles sont trouvés, le meilleur certificat est sélectionné en fonction de la séquence suivante :

    1. Triez les certificats admissibles en fonction de la date Valid from la plus récente. Valide à partir de est un champ « Version 1 » sur le certificat.
    2. Le premier certificat d’infrastructure à clé publique (PKI) valide qui figure dans cette liste est utilisé.
    3. Si aucun certificat PKI n’est trouvé, le premier certificat auto-signé est utilisé.
      1. La date d’expiration du certificat est contrôlée. Le champ Valid to dans les propriétés du certificat est comparé aux date et heure système. Si le certificat n’a pas expiré, STARTTLS est publié. Si le certificat a expiré, l’ID d’événement 12016 est enregistré dans le journal des applications, mais STARTTLS est toujours publié.

        Importante

        Si le certificat a expiré, vous devez renouveler le certificat, que STARTTLS soit publié ou non. Pour plus d’informations sur la façon de renouveler le certificat, consultez Renouveler un certificat Exchange Server.

Définition de la valeur de la propriété FQDN

Pour définir la valeur de la propriété FQDN, exécutez la commande suivante :

Set-ReceiveConnector -Identity <Receive Connector Identity> -fqdn <fqdn value>

Plus d’informations

Pour plus d’informations sur la façon dont les certificats sont sélectionnés pour d’autres scénarios TLS, consultez les articles suivants :