Résolution des problèmes du module de stratégie NDES dans Microsoft Intune

Cet article fournit des conseils pour vous aider à valider et résoudre les problèmes liés au fonctionnement du module de stratégie NDES (Network Device Enrollment Service) qui s’installe avec le Microsoft Intune Certificate Connector. Quand NDES reçoit une demande de certificat, il la transfère au module de stratégie, qui valide la demande pour l’appareil. Après la validation, NDES contacte l’autorité de certification pour demander le certificat au nom de l’appareil.

Cet article s’applique à l’étape 3 et à l’étape 4 du flux de travail de communication SCEP.

Communication NDES au module de stratégie

Après avoir reçu la demande de certificat d’un appareil, NDES valide cette demande avec Intune via le module de stratégie qui s’installe avec le Microsoft Intune Certificate Connector. Ces entrées font référence au point d’enregistrement de certificat.

Entrées de journal qui indiquent la réussite :

Pour confirmer que la demande de validation est envoyée au module, recherchez une entrée qui ressemble aux exemples suivants dans les journaux sur le serveur NDES :

  • Journaux IIS :

    fe80::f53d:89b8:c3e8:5fec%13 POST /CertificateRegistrationSvc/Certificate/VerifyRequest - 443 - 
    fe80::f53d:89b8:c3e8:5fec%13 NDES_Plugin - 201 0 0 341 875
    
  • Journal NDESPlugin :

    Calling VerifyRequest ...  
    Sending request to certificate registration point.
    

    L’exemple suivant indique une validation réussie de la demande de défi des appareils et que NDES peut désormais contacter l’autorité de certification :

    Verify challenge returns true
    Exiting VerifyRequest with 0x0
    
  • CertificateRegistrationPoint.svclog :

    Validation Phase 1 finished with status True.
    Validation Phase 3 finished with status True.
    VerifyRequest Finished with status True

Quand les indicateurs de réussite ne sont pas présents :

Si vous ne trouvez pas ces entrées, commencez par consulter les conseils de résolution des problèmes pour la communication appareil-serveur NDES.

Si les informations contenues dans cet article ne vous aident pas à résoudre le problème, voici des entrées supplémentaires qui peuvent indiquer des problèmes.

NDESPlugin.log contient une erreur 12175

Lorsque le journal contient une erreur 12175 similaire à la suivante, il peut y avoir un problème avec le certificat SSL :

WINHTTP_CALLBACK_STATUS_FLAG_CERT_CN_INVALID
Failed to send http request /CertificateRegistrationSvc/Certificate/VerifyRequest. Error 12175

Les navigateurs modernes et les navigateurs sur les appareils mobiles ignorent le nom commun sur un certificat SSL s’il existe d’autres noms d’objet .

Solution : Émettez le certificat SSL du serveur web avec les attributs suivants pour nom commun et autre nom de l’objet, puis liez-le au port 443 dans IIS :

  • Nom de sujet
    CN = nom du serveur externe
  • Autre nom de l’objet
    Nom = nom du serveur externe
    Nom DNS = nom du serveur interne

NDESPlugin.log contient l’erreur 403 – Interdit : l’accès est refusé »

Lorsque les journaux suivants contiennent une erreur 403 similaire à ce qui suit, le certificat client peut être non approuvé ou non valide :

NDESPlugin.log :

Sending request to certificate registration point.
Verify challenge returns <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
<title>403 - Forbidden: Access is denied.</title>

Journal IIS :

POST /CertificateRegistrationSvc/Certificate/VerifyRequest - 443 -<IP_address>
NDES_Plugin - 403 16 2148204809 453  

Ce problème se produit s’il existe des certificats d’autorité de certification intermédiaires dans le magasin de certificats autorités de certification racines de confiance du serveur NDES.

Si un certificat a les mêmes valeurs Issued to et Issued by , il s’agit d’un certificat racine. Sinon, il s’agit d’un certificat intermédiaire.

Solution : pour résoudre le problème, identifiez et supprimez les certificats d’autorité de certification intermédiaires du magasin de certificats autorités de certification racines de confiance.

NDESPlugin.log indique que le défi retourne false

Lorsque le résultat de la requête retourne false, case activée certificateRegistrationPoint.svclog pour rechercher des erreurs. Par exemple, vous pouvez voir une erreur « Le certificat de signature n’a pas pu être récupéré » qui ressemble à l’entrée suivante :

Signing certificate could not be retrieved. System.Security.Cryptography.CryptographicException: m_safeCertContext is an invalid handle. at System.Security.Cryptography.X509Certificates.X509Certificate.ThrowIfContextInvalid() at System.Security.Cryptography.X509Certificates.X509Certificate.GetCertHashString() at Microsoft.ConfigurationManager.CertRegPoint.CRPCertificate.RetrieveSigningCert(String certThumbprint

Solution : Sur le serveur sur lequel le connecteur est installé, ouvrez le Rédacteur du Registre, recherchez la clé de HKLM\SOFTWARE\Microsoft\MicrosoftIntune\NDESConnector Registre, puis case activée si la valeur SigningCertificate existe.

Si cette valeur n’existe pas, redémarrez le service connecteur Intune dans services.msc, puis case activée si la valeur apparaît dans le Registre. Si la valeur est toujours manquante, c’est souvent en raison de problèmes de connectivité réseau entre le serveur que NDES et le service Intune.

NDES transmet la demande d’émission du certificat

Après une validation réussie par le point d’enregistrement de certificat (module de stratégie), NDES transmet la demande de certificat à l’autorité de certification au nom de l’appareil.

Entrées de journal qui indiquent la réussite :

  • Journal NDESPlugin :

    Verify challenge returns true
    Exiting VerifyRequest with 0x0
    
  • Journaux IIS :

    fe80::f53d:89b8:c3e8:5fec%13 GET /certsrv/mscep/mscep.dll/pkiclient.exe ... 80 - 
    fe80::f53d:89b8:c3e8:5fec%13 Mozilla/4.0+(compatible;+Win32;+NDES+client) - 200 0 0 2713 1296
    
  • CertificateRegistrationPoint.svclog :

    Validation Phase 1 finished with status True.
    Validation Phase 3 finished with status True.
    VerifyRequest Finished with status True

Quand les indicateurs de réussite ne sont pas présents :

Si vous ne voyez pas les entrées qui indiquent la réussite, procédez comme suit :

  1. Recherchez les problèmes enregistrés dans CertificateRegistrationPoint.svclog lorsque le point d’enregistrement de certificat vérifie la demande. Recherchez les entrées entre les lignes suivantes :

    • VerifyRequest Started.
    • VerifyRequest Finished with status False
  2. Ouvrez la console MMC de l’autorité de certification sur l’autorité de certification, puis sélectionnez Demandes ayant échoué pour rechercher les erreurs qui permettent d’identifier un problème. L’image suivante est un exemple.

    Capture d’écran d’un exemple de demande ayant échoué.

  3. Examinez le journal des événements de l’application sur l’autorité de certification pour rechercher des erreurs. En règle générale, vous pouvez voir des erreurs qui correspondent à ce que vous voyez dans les demandes ayant échoué à l’étape précédente. L’image suivante est un exemple.

    Capture d’écran montrant les détails du journal des applications.

Prochaines étapes

Si le module de stratégie NDES valide la demande et que la demande est transférée à l’autorité de certification, l’étape suivante consiste à examiner la remise du certificat à l’appareil.