Réponses:
Le magasin de certificats de Windows est (principalement) stocké dans le registre, comme indiqué ici . Cependant, alors qu'IE, Chrome, Safari / iTunes, Outlook, etc. utilisent le magasin de certificats de Windows, Firefox et Thunderbird utilisent le magasin de certificats multiplateforme NSS. Opera utilise également son propre magasin de certificats distinct.
Si vous souhaitez accéder au magasin de certificats de Windows, vous devez utiliser CryptoAPI de Microsoft. Si vous souhaitez accéder au magasin de certificats NSS, vous pouvez utiliser la bibliothèque NSS .
Il n'y a pas de "dossier" de certificats sous Windows; il est stocké dans une base de données interne ( Registre Windows ) que vous interfacez en utilisant les méthodes que vous avez répertoriées dans votre question d'origine. Le moyen le plus simple d' accéder à cette base de données est simplement de mettre certmgr.msc
dans votre boîte de démarrage / exécution.
Si vous êtes vraiment curieux, vous pouvez trouver les entrées de registre réelles sous:
\SOFTWARE\Microsoft\SystemCertificates\
Dans HKEY_CURRENT_USER
pour les certificats spécifiques à l'utilisateur et HKEY_LOCAL_MACHINE
pour les certificats spécifiques à la machine, mais ce seront des blobs binaires illisibles. Il est préférable d'utiliser le composant logiciel enfichable MMC que j'ai répertorié précédemment.
Voici un résumé de l'emplacement (clés de registre et fichiers):
Niveau utilisateur (registre):
HKEY_CURRENT_USER\Software\Microsoft\SystemCertificates
: Contient des certificats de paramètres pour l'utilisateur actuel.
HKEY_CURRENT_USER\Software\Policies\Microsoft\SystemCertificates
: Comme l'emplacement précédent, mais cela correspond aux certificats utilisateur déployés par un GPO (Group Policy).
HKEY_USERS\SID-User\Software\Microsoft\SystemCertificates
: Correspond à la configuration de certains certificats utilisateur. Chaque utilisateur a sa branche dans le registre avec SID (Security Identifier).
Niveau informatique (registre):
HKEY_LOCAL_MACHINE\Software\Microsoft\SystemCertificates
: Contient des certificats de paramètres pour tous les utilisateurs d'ordinateurs.
HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates
: Comme l'emplacement précédent, mais cela correspond aux certificats informatiques déployés par un objet de stratégie de groupe.
Niveau de service (registre):
HKEY_LOCAL_MACHINE\Software\Microsoft\Cryptography\Services\ServiceName\SystemCertificates
: Contient des certificats de paramètres pour tous les services de l'ordinateur.
Niveau Active Directory (registre):
HKEY_LOCAL_MACHINE\Software\Microsoft\EnterpriseCertificates
: Certificats émis au niveau Active Directory.
Et il y a quelques dossiers et fichiers correspondant au magasin de certificats Windows.
Les dossiers sont masqués et les clés publiques et privées se trouvent dans différents dossiers.
Certificats utilisateur (fichiers):
%APPDATA%\Microsoft\SystemCertificates\My\Certificates
%USERPROFILE%\AppData\Roaming\Microsoft\Crypto\RSA\SID
%USERPROFILE%\AppData\Roaming\Microsoft\Credentials
%USERPROFILE%\AppData\Roaming\Microsoft\Protect\SID
Certificats informatiques (fichiers):
C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys
Extrait de: http://www.sysadmit.com/2017/10/windows-donde-se-guardan-certificados.html
Les certificats sont stockés dans le registre à
HKLM/Software/Microsoft/SystemCertificates
Les certificats personnels ou autres certificats spécifiques à l'utilisateur connecté se trouvent à l'adresse
HKCU/Software/Microsoft/SystemCertificates
Ils sont stockés en tant que blobs binaires, ils doivent donc être décodés, et le plugin MMC est un bon moyen de le faire.
Donnez une chance à PowerShell:
Get-Childitem Cert:\currentUser -Recurse | Format-Table -AutoSize PSPath, FriendlyName, DnsNamelist
HKLM/Software/Microsoft/SystemCertificates
etHKCU/Software/Microsoft/SystemCertificates
. Notez le système manquant.