DIDOES ITEndpoint Engineering← Tous les articles

Technologie IT / Inside Endpoint

Certificats PKCS avec Intune : fonctionnement, connecteur et cycle de vie

Le profil PKCS simplifie certains déploiements, mais il change le modèle de confiance : la clé privée est générée côté infrastructure puis transportée vers le poste. J’explique ce parcours et les contrôles qui doivent l’accompagner.

À propos des exemples

Les scripts illustrent les contrôles ou les corrections décrits dans l’article. Ils ne constituent pas des outils prêts à déployer. Avant toute utilisation, vérifiez les chemins, les permissions et la cible, puis testez le comportement et le retour arrière sur un environnement représentatif.

01

L’essentiel

Dans le modèle PKCS Intune avec Microsoft CA, le Certificate Connector traite une demande en attente, sollicite AD CS, exporte un PFX puis participe à sa livraison protégée au terminal. La clé n’est donc pas créée sur le terminal comme avec SCEP.

Le modèle AD CS doit autoriser l’export pendant le traitement du connecteur. Après installation sur Windows, la clé privée est marquée non exportable, mais la conception doit tout de même intégrer le passage temporaire de la clé par l’infrastructure.

Les exigences de strong certificate mapping de KB5014754 imposent de vérifier l’extension SID, la version du connecteur et tous les services consommateurs avant généralisation.

Dans le modèle PKCS Intune avec Microsoft CA, le Certificate Connector traite une demande en attente, sollicite AD CS, exporte un PFX puis participe à sa livraison protégée au terminal. La clé n’est donc pas créée sur le terminal comme avec SCEP.
02

Pourquoi cette technologie existe

Le profil Trusted certificate établit la chaîne de confiance. Le profil PKCS définit le type utilisateur ou appareil, le sujet, les SAN, les EKU, le fournisseur de stockage, la taille de clé, la durée et le seuil de renouvellement.

Intune place la demande dans le service. Une instance de Certificate Connector activée pour PKCS la récupère ; lorsqu’il existe plusieurs connecteurs PKCS, chacun doit pouvoir joindre les autorités et disposer des mêmes permissions, car on ne fixe pas quel connecteur prendra une demande donnée.

Le besoin opérationnel doit être défini avant de choisir un profil ou un outil. Il faut distinguer le résultat attendu, l’expérience utilisateur, le propriétaire de la configuration et les contrôles qui confirmeront son application. La présence d’un paramètre dans une console ne justifie pas son activation.

L’intention configurée dans le cloud, son applicabilité, l’état reçu par Windows et le résultat observé correspondent à quatre informations différentes. Une affectation réussie, un état vert ou une requête HTTP acceptée ne prouve pas à lui seul que tout le parcours fonctionne.

Le fonctionnement de « Fonctionnement des certificats PKCS Intune » dépend du rôle exact de chaque partie : plan de contrôle, transport, traitement local, état conservé et résultat renvoyé. Le portail peut afficher une décision prise par Windows, tandis qu’un agent local peut subir une limite provenant du service cloud.

Les interfaces supportées et les détails internes observables n’ont pas le même statut. Logs, tâches et clés de registre peuvent expliquer un comportement. Ils ne constituent pas pour autant des interfaces stables pour une automatisation durable.

Le cycle réel couvre le déclenchement, le traitement, le résultat, la nouvelle évaluation et la réaction à une dérive. Reproduire une configuration sans comprendre cette séquence masque souvent la cause d’un écart.

Une intention envoyée, une valeur effective, un inventaire, un état de conformité, une télémétrie et un cache d’affichage ne décrivent pas la même chose. Leur producteur, leur heure et leur contexte déterminent la façon de les interpréter.

Identités, certificats, licences, services réseau, versions clientes et autres outils de gestion peuvent modifier le résultat sans appartenir directement au produit étudié. Une dépendance absente ne doit pas être confondue avec une limite de la technologie.

Une observation terrain reste un indice lorsqu’elle complète la documentation. Les noms de tâches, fichiers, événements ou rythmes internes peuvent changer. Les décisions de conception reposent sur les interfaces et les comportements officiellement documentés.

MATRICEObjectifs et périmètre
Points à comprendrePérimètre étudié
comprendre l’architecture, les dépendances et les limitesIntune, PKCS, PFX, Certificate Connector
mettre en œuvre un pilote mesurable et reproductiblepostes Windows gérés et services Microsoft officiellement documentés
construire un diagnostic et un rollback utilisables par l’exploitationvalidation en laboratoire puis pilote représentatif avant généralisation
03

Architecture, composants et flux de données

Le profil Trusted certificate établit la chaîne de confiance. Le profil PKCS définit le type utilisateur ou appareil, le sujet, les SAN, les EKU, le fournisseur de stockage, la taille de clé, la durée et le seuil de renouvellement.

Intune place la demande dans le service. Une instance de Certificate Connector activée pour PKCS la récupère ; lorsqu’il existe plusieurs connecteurs PKCS, chacun doit pouvoir joindre les autorités et disposer des mêmes permissions, car on ne fixe pas quel connecteur prendra une demande donnée.

Le compte du connecteur doit lire le modèle et enrôler auprès de l’autorité AD CS Enterprise. Le modèle doit être publié et permettre l’export de la clé pour que le connecteur constitue le PFX ; un modèle Standalone CA n’est pas le scénario supporté par la documentation Intune.

FLUXChaîne fonctionnelle — Fonctionnement des certificats PKCS Intune
  1. IntuneMet en file la demande du profil PKCS.
  2. ConnectorCrée la demande et protège le PFX.
  3. AD CSÉmet selon le modèle publié.
  4. EndpointInstalle certificat et clé non exportable.

Chaque étape doit écrire assez d’informations dans les logs ou les états du service pour confirmer ce qu’elle a exécuté. Un succès en amont ne garantit pas la fin du traitement.

04

Prérequis, compatibilité et limites de support

Je sépare les prérequis nécessaires à l’existence de la fonction de ceux qui ne concernent qu’un scénario d’administration. La présence d’une option dans une console ne prouve ni la prise en charge de la version cliente, ni l’éligibilité de la licence.

Les builds, éditions, rôles, dépendances réseau et contextes d’exécution doivent être confirmés avant d’interpréter un comportement. Les éléments internes observés mais non documentés comme interfaces publiques sont explicitement traités comme tels.

  • AD CS Enterprise et modèle PKCS publié
  • Certificate Connector récent et enregistré
  • compte de service avec Read et Enroll
  • export de clé autorisé sur le modèle
  • chaîne de confiance déployée
  • stratégie strong mapping testée
  • inventaire des services consommateurs
05

Cycle de fonctionnement, étape par étape

Cette séquence décrit ce que font les différents composants, depuis le déclenchement jusqu’au résultat. Elle sert de modèle mental : selon le scénario, certaines étapes peuvent être asynchrones ou exécutées dans un autre contexte.

Je distingue l’action demandée, son transport, son traitement local et son accusé de résultat. Cette distinction explique pourquoi deux écrans peuvent afficher temporairement des états différents sans qu’il y ait nécessairement une panne.

PROCÉDURECycle d’exécution observé
  1. 01Établir l’état initial
    Emplacement
    Portails Microsoft et poste témoin
    Commande / configuration
    Documenter sujet, SAN et EKU.
    Résultat attendu
    Les versions, identités, affectations, autorités et écarts sont documentés.
    Vérification
    Comparer l’inventaire local, les portails et les sources techniques.
    Impact
    Lecture seule.
    Retour arrière
    Aucun.
  2. 02Configurer le pilote
    Emplacement
    Groupe, profil ou service pilote
    Commande / configuration
    Contrôler version et santé du connecteur.
    Résultat attendu
    Une configuration unique et bornée est appliquée à une audience stable.
    Vérification
    Relire les inclusions, exclusions, filtres, licences et permissions.
    Impact
    Impact limité au pilote.
    Retour arrière
    Retirer l’affectation et restaurer l’état précédent.
  3. 03Observer le parcours complet
    Emplacement
    Rapports cloud et journaux locaux
    Commande / configuration
    Valider modèle et permissions.
    Résultat attendu
    Chaque couche produit une preuve datée et les écarts sont expliqués.
    Vérification
    Rejouer le scénario nominal et au moins un cas négatif.
    Impact
    Collecte de preuves minimisées.
    Retour arrière
    Aucun pour la collecte.
  4. 04Décider la vague suivante
    Emplacement
    Dossier de changement et runbook
    Commande / configuration
    Émettre au pilote.
    Résultat attendu
    Les critères GO sont atteints ou le changement reste explicitement en NO-GO.
    Vérification
    Contrôler les KPI, les incidents, le support et le rollback.
    Impact
    Extension contrôlée ou arrêt.
    Retour arrière
    Suspendre la vague et appliquer le runbook de retour arrière.

Les logs et les états attendus indiquent quel composant a réellement traité chaque étape.

06

Fonctionnement détaillé et responsabilités

Le profil Trusted certificate établit la chaîne de confiance. Le profil PKCS définit le type utilisateur ou appareil, le sujet, les SAN, les EKU, le fournisseur de stockage, la taille de clé, la durée et le seuil de renouvellement.

Intune place la demande dans le service. Une instance de Certificate Connector activée pour PKCS la récupère ; lorsqu’il existe plusieurs connecteurs PKCS, chacun doit pouvoir joindre les autorités et disposer des mêmes permissions, car on ne fixe pas quel connecteur prendra une demande donnée.

Le compte du connecteur doit lire le modèle et enrôler auprès de l’autorité AD CS Enterprise. Le modèle doit être publié et permettre l’export de la clé pour que le connecteur constitue le PFX ; un modèle Standalone CA n’est pas le scénario supporté par la documentation Intune.

  • AD CS Enterprise et modèle PKCS publié
  • Certificate Connector récent et enregistré
  • compte de service avec Read et Enroll
  • export de clé autorisé sur le modèle
07

Configuration, exploitation et cas limites

Le connecteur transmet ensuite le certificat et la clé par le parcours protégé du service. Intune livre le profil au terminal, qui installe le certificat dans le magasin utilisateur ou ordinateur correspondant au ciblage.

La propriété HasPrivateKey, le fournisseur cryptographique et les ACL de clé sont aussi importants que le certificat. Une application exécutée sous SYSTEM ne voit pas nécessairement CurrentUser\My, et une application utilisateur ne peut pas toujours utiliser LocalMachine\My.

La version moderne du Certificate Connector ajoute l’OID contenant le SID pour répondre au strong mapping lorsque l’utilisateur ou l’appareil est synchronisé depuis AD. La clé EnableSidSecurityExtension et la version minimale doivent être vérifiées selon la documentation actuelle.

  • Vérifier magasin, clé et OID SID
  • Tester Wi-Fi/VPN/NAC
  • Tester renouvellement et révocation
08

Lire les états et les résultats

La taille 4096 bits est prise en charge sous Windows avec le Software KSP pour les profils PKCS, mais pas dans le TPM ni pour Windows Hello for Business. Je choisis l’algorithme selon le consommateur et les performances plutôt que d’augmenter mécaniquement la taille.

Renouvellement, révocation et suppression du profil ont des temporalités différentes. Je confirme que le connecteur possède les droits de révocation, que CRL et AIA sont accessibles et que le service cible ne conserve pas un cache d’autorisation obsolète.

Imported PFX constitue encore un autre flux : les certificats existent avant Intune et sont importés chiffrés. Je ne mélange pas ce modèle avec le PKCS émis à la demande par AD CS dans les procédures ou rapports.

Une configuration décrit ce qui devrait arriver. L’inventaire montre un état observé à un instant donné, tandis qu’un log d’exécution indique ce que le composant a réellement tenté. Les horodatages et les contextes doivent correspondre avant de relier ces informations.

Les états non applicable, pending, conflict, error et success doivent rester séparés. L’absence d’un poste dans un rapport ne permet pas de conclure : il peut être hors ligne, non éligible, non ciblé, en retard de télémétrie ou exclu de la collecte.

09

Pilote, généralisation et maintien en conditions opérationnelles

Le pilote couvre plusieurs modèles matériels, versions de Windows, profils réseau, populations utilisateur et exceptions métier. Une cohorte témoin aide à distinguer l’effet du changement d’une évolution globale du service, d’une mise à jour applicative ou d’un incident réseau.

Les critères GO sont définis avant le début : couverture, taux de succès, délai de convergence, incidents, tickets support, régressions et temps de rollback. Une moyenne satisfaisante ne masque pas un sous-groupe en échec ; les résultats sont donc segmentés par version, modèle, site et mode de gestion.

Les cas négatifs sont testés volontairement : appareil hors ligne, licence absente, identité non éligible, règle non applicable, réseau filtré et retour arrière. Un design exploitable doit échouer de manière visible, sûre et compréhensible pour le support.

Après généralisation, les exceptions, permissions, versions de profil et dépendances doivent être revues régulièrement. Le service cloud et Windows évoluent ; une décision correcte aujourd’hui doit rester traçable et être revalidée lorsqu’un prérequis ou une interface change.

10

Interfaces d’observation, commandes et exemples

Les commandes illustrent les objets et états décrits dans l’article. Elles restent en lecture seule et ne modifient volontairement aucune ressource. Elles servent à comprendre les données disponibles, pas à fournir un outil de collecte prêt à déployer.

Une automatisation durable doit employer une API ou une interface officiellement supportée. Une clé de registre, un fichier ou une tâche interne peut évoluer avec Windows, l’agent ou le service.

POWERSHELLLecture du strong mapping et des certificats — lecture seule
# Exemple de collecte en lecture seule — à adapter avant utilisation
$ErrorActionPreference = 'Stop'
try {
  Get-ItemProperty 'HKLM:\Software\Microsoft\MicrosoftIntune\PFXCertificateConnector' -ErrorAction SilentlyContinue
  Get-ChildItem Cert:\LocalMachine\My,Cert:\CurrentUser\My |
    Select-Object Subject,Thumbprint,NotAfter,HasPrivateKey,Extensions
} catch { Write-Error "Inventaire PKCS impossible : $($_.Exception.Message)"; exit 1 }

L’extension SID doit être interprétée avec la documentation de strong mapping et le contexte AD de l’identité.

11

Observabilité : où lire l’état réel

La chronologie relie l’heure de la demande, le check-in, l’événement local, la décision du composant et la remontée dans le portail. Conservez l’heure UTC et l’heure locale. Avant tout partage, anonymisez les UPN, DeviceId, TenantId, noms internes, certificats, adresses et contenus métiers.

La collecte initiale reste en lecture seule. Ne videz pas un cache, ne supprimez pas une clé, ne réinitialisez pas un agent et ne forcez pas un enrôlement avant d’avoir capturé les informations utiles. Ces actions changent l’état et peuvent faire disparaître la cause initiale.

Les scripts publiés ici illustrent la collecte décrite dans l’article et restent en lecture seule. Une remédiation doit proposer une simulation, limiter sa cible, expliquer son impact et restaurer l’état précédent. Une opération privilégiée ou à grande échelle exige en plus une validation formelle et un pilote représentatif.

  • Documenter sujet, SAN et EKU.
  • Contrôler version et santé du connecteur.
  • Valider modèle et permissions.
  • Émettre au pilote.
  • Vérifier magasin, clé et OID SID
  • Tester Wi-Fi/VPN/NAC
  • Tester renouvellement et révocation
MATRICELecture structurée des preuves
CoucheQuestionPreuveDécision
CiblageLe poste devait-il recevoir la configuration ?Groupe, filtre, licence et affectationCorriger le ciblage avant le client
TransportLa demande a-t-elle atteint sa destination ?Check-in, événement, request-id ou téléchargementTraiter identité, réseau ou service
TraitementLe composant a-t-il évalué la demande ?Journal, état par paramètre ou résultat APICorriger la valeur ou le composant
RésultatL’objectif final est-il atteint ?Contrôle fonctionnel et rapport corréléValider ou maintenir NO-GO
12

Validation du modèle et cas d’usage

Je vérifie le modèle sur un appareil représentatif en reliant la configuration du service, l’état reçu, le traitement local et la donnée remontée. L’objectif n’est pas de certifier la production, mais de confirmer que l’explication décrit bien le comportement observé.

Un cas d’usage est retenu lorsque la technologie répond au besoin sans ajouter une autorité concurrente, une dépendance non maîtrisée ou un niveau d’opacité incompatible avec l’exploitation.

  • Documenter sujet, SAN et EKU.
  • Contrôler version et santé du connecteur.
  • Valider modèle et permissions.
  • Émettre au pilote.
  • Vérifier magasin, clé et OID SID
  • Tester Wi-Fi/VPN/NAC
  • Tester renouvellement et révocation
13

Limites, modes de panne et lecture des erreurs

Les limites du modèle produisent des symptômes observables. Le tableau indique où le fonctionnement normal peut diverger et quelles informations permettent de confirmer l’origine de l’écart, sans transformer l’article en procédure de dépannage.

Une erreur isolée doit être replacée dans sa phase et son contexte. Je privilégie les résultats documentés du service et du client avant les détails d’implémentation susceptibles de changer.

MATRICEMatrice de diagnostic
SymptômeCause à confirmerPreuve recherchéeCorrection ciblée
Demande jamais traitéeConnecteur ou file PKCSÉtat connecteur et logsRestaurer connectivité
Denied by Policy ModuleModèle ou droitsTrace connector et CACorriger ACL ou modèle
Certificat sans strong mappingVersion ou valeur registreOID et versionMettre à jour puis réémettre
Clé inutilisableMagasin, KSP ou ACLHasPrivateKey et contexteAligner ciblage
Authentification refuséeChaîne, EKU, mapping ou CRLNPS et certutilCorriger le contrôle confirmé

Une cause reste une hypothèse tant qu’elle n’est pas confirmée par une preuve locale ou une donnée de service corrélée.

14

Adoption progressive, réversibilité et vigilance

Pour introduire la technologie, je commence par un scénario borné, des appareils pilotes et des critères d’observation définis. L’adoption progresse uniquement si les dépendances, la supervision et les responsabilités de support sont comprises.

Le retour arrière dépend souvent de la propriété de la ressource et du cycle de synchronisation. Je le teste avant généralisation et je ne déduis jamais la réversibilité de la seule disparition d’un profil dans le portail.

MATRICERéversibilité
Action
restaurer la valeur EnableSidSecurityExtension documentée
réaffecter l’ancien profil PKCS au pilote
réémettre plutôt que modifier un certificat déjà signé
MATRICELimites et points de vigilance
Point à contrôler
ne pas confondre PKCS et Imported PFX
tous les connecteurs PKCS doivent atteindre toutes les CA
protéger comptes et clés du connecteur
tester le strong mapping avant enforcement
R

Repères d’utilisation

Avant toute application à grande échelle, vérifiez les versions, les licences et les comportements sur un environnement pilote représentatif. Les résultats locaux ne constituent pas à eux seuls une validation pour la production.

Références techniques publiques

J’ai privilégié la documentation Microsoft pour les comportements contractuels. Les retours terrain complètent l’observation, sans remplacer la documentation de support.

IntunePKCSPFXCertificate ConnectorAD CSStrong mapping

Continuer la lecture

Modern Workplace LabOMA-DM et WinDC en double inscriptionEndpoint LabDiagnostic complet des applications Win32