À l'aide de l'utilitaire certmgr.msc
, je peux accéder au magasin de certificats Windows, mais je ne peux toujours pas savoir où Windows stocke les clés privées.
Par exemple, pour un certificat donné, Windows m'indique qu'une clé privée est associée à ce certificat. Mais où puis-je le trouver physiquement?
Les clés sont stockées via l’API de cryptographie de Microsoft: nouvelle génération(CNG).
Emplacements de stockage:
%APPDATA%\Microsoft\Crypto\Keys
%ALLUSERSPROFILE%\Application Data\Microsoft\Crypto\SystemKeys
%WINDIR%\ServiceProfiles\LocalService
%WINDIR%\ServiceProfiles\NetworkService
%ALLUSERSPROFILE%\Application Data\Microsoft\Crypto\Keys
Description:
Le GNC fournit un modèle de stockage de clé privée qui permet de s’adapter aux exigences actuelles et futures de la création d’applications utilisant des fonctions de cryptographie telles que le cryptage à clé publique ou privée, ainsi qu’aux exigences de stockage du matériel de clé. Le routeur de stockage de clés est la routine centrale de ce modèle et est implémenté dans Ncrypt.dll. Une application accède aux fournisseurs de stockage de clés (KSP) sur le système par le biais du routeur de stockage de clés, qui cache des détails, tels que l'isolation de clés, de l'application et du fournisseur de stockage lui-même. L'illustration suivante montre la conception et la fonction de l'architecture d'isolation de clé CNG.
Source
Note :
Comme l'a noté Tim G, les clés ne sont pas lisibles au niveau du fichier car elles sont cryptées lors du processus de stockage via l'API CNG.