Le repère en bref
J’ouvre certlm.msc pour les certificats ordinateur et certmgr.msc pour ceux de l’utilisateur connecté.
Dans PowerShell, Cert:\LocalMachine\My et Cert:\CurrentUser\My permettent une lecture structurée. Je cherche une clé privée, le bon EKU, une période valide et une chaîne approuvée.
Je ne supprime jamais un certificat pour tester: il peut protéger Wi-Fi, VPN, chiffrement ou authentification.
J’ouvre certlm.msc pour les certificats ordinateur et certmgr.msc pour ceux de l’utilisateur connecté.
Quand l’utiliser
Ce repère sert quand un profil Intune est annoncé comme réussi mais que l’application ne propose aucun certificat, ou quand je dois comparer un certificat utilisateur et appareil.
Cette note répond à un besoin précis autour de Magasins de certificats Windows: identifier le magasin et lire les propriétés utiles.
Le contrôle porte sur le certificat est dans le magasin attendu, la clé privée est présente, la date, l’EKU et la chaîne correspondent au service. Ces repères permettent de lire la sortie sans confondre valeur absente, état non applicable et échec réel.
- Windows 10/11
- contrôle local en lecture seule
Commande ou manipulation
HasPrivateKey doit être True pour une authentification cliente. Je contrôle ensuite NotBefore/NotAfter et Client Authentication dans EnhancedKeyUsageList.
Pour la chaîne, j’ouvre le certificat et consulte Certification Path, ou j’emploie certutil sur un export public.cer. Je n’exporte pas la clé privée.
# Collecte de diagnostic
$ErrorActionPreference = 'Stop'
try {
Get-ChildItem Cert:\LocalMachine\My,Cert:\CurrentUser\My |
Select-Object PSParentPath,Subject,Issuer,Thumbprint,NotAfter,HasPrivateKey,EnhancedKeyUsageList
} catch { Write-Error "Lecture impossible : $($_.Exception.Message)"; exit 1 }Ajouter certutil.exe -store My pour une seconde lecture du magasin machine et certutil.exe -user -store My pour l’utilisateur.
Lire le résultat et connaître les limites
- le certificat est dans le magasin attendu
- la clé privée est présente
- la date, l’EKU et la chaîne correspondent au service
- une EKU vide peut autoriser plusieurs usages selon le contexte
- une empreinte est un identifiant, pas une preuve de confiance
- toute suppression exige un runbook séparé
| Constat | Interprétation |
|---|---|
| Absent du magasin attendu | Ciblage ou contexte incorrect |
| HasPrivateKey = False | Identité cliente inutilisable |
| NotAfter dépassé | Certificat expiré |
| EKU absent | Usage à confirmer avant conclusion |
Références et mots-clés
Références techniques publiques
- MicrosoftProvider Certificate PowerShell
- MicrosoftCommande certutil