El almacén de certificados de Windows se almacena (principalmente) en el registro como se describe aquí . Sin embargo, mientras que IE, Chrome, Safari / iTunes, Outlook, etc. usan el almacén de certificados de Windows, Firefox y Thunderbird usan el almacén de certificados multiplataforma de NSS. Opera también usa su propia tienda de certificados separada.
Si desea acceder al almacén de certificados de Windows, debe usar CryptoAPI de Microsoft. Si desea acceder al almacén de certificados NSS, puede usar la biblioteca NSS .
No hay ninguna "carpeta" de certificados en Windows; se almacena en una base de datos interna ( Registro de Windows ) con la que interactúa utilizando las formas que enumeró en su pregunta original. La forma más fácil de llegar a esa base de datos es ponerla certmgr.msc
en su cuadro de inicio / ejecución.
Si tiene mucha curiosidad, puede encontrar las entradas de registro reales en:
\SOFTWARE\Microsoft\SystemCertificates\
Para HKEY_CURRENT_USER
certificados específicos de usuario y HKEY_LOCAL_MACHINE
para certificados específicos de máquina, pero serán blobs binarios no legibles. Es mejor usar el complemento MMC que mencioné anteriormente.
Aquí hay un resumen de ubicación (claves de registro y archivos):
Nivel de usuario (registro):
HKEY_CURRENT_USER\Software\Microsoft\SystemCertificates
: Contiene certificados de configuración para el usuario actual.
HKEY_CURRENT_USER\Software\Policies\Microsoft\SystemCertificates
: Al igual que la ubicación anterior, pero esto corresponde a los certificados de usuario implementados en un GPO (directiva de grupo).
HKEY_USERS\SID-User\Software\Microsoft\SystemCertificates
: Corresponde a la configuración de ciertos certificados de usuario. Cada usuario tiene su sucursal en el registro con SID (Identificador de seguridad).
Nivel informático (registro):
HKEY_LOCAL_MACHINE\Software\Microsoft\SystemCertificates
: Contiene certificados de configuración para todos los usuarios de computadoras.
HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates
: Al igual que la ubicación anterior, pero esto corresponde a los certificados de computadora implementados en un GPO.
Nivel de servicio (registro):
HKEY_LOCAL_MACHINE\Software\Microsoft\Cryptography\Services\ServiceName\SystemCertificates
: Contiene certificados de configuración para todos los servicios en la computadora.
Nivel de Active Directory (registro):
HKEY_LOCAL_MACHINE\Software\Microsoft\EnterpriseCertificates
: Certificados emitidos a nivel de Active Directory.
Y hay algunas carpetas y archivos correspondientes al almacén de certificados de Windows.
Las carpetas están ocultas y las claves públicas y privadas se encuentran en diferentes carpetas.
Certificados de usuario (archivos):
%APPDATA%\Microsoft\SystemCertificates\My\Certificates
%USERPROFILE%\AppData\Roaming\Microsoft\Crypto\RSA\SID
%USERPROFILE%\AppData\Roaming\Microsoft\Credentials
%USERPROFILE%\AppData\Roaming\Microsoft\Protect\SID
Certificados de computadora (archivos):
C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys
Extraído de: http://www.sysadmit.com/2017/10/windows-donde-se-guardan-certificados.html
Los certificados se almacenan en el registro en
HKLM/Software/Microsoft/SystemCertificates
Los certificados personales u otros certificados específicos para el usuario conectado están en
HKCU/Software/Microsoft/SystemCertificates
Se almacenan como blobs binarios, por lo que deben decodificarse, y el complemento MMC es una buena manera de hacerlo.
HKLM/Software/Microsoft/SystemCertificates
yHKCU/Software/Microsoft/SystemCertificates
. Tenga en cuenta el sistema que falta.Volví a mirar la preferencia de política de grupo que estaba usando. Hay una opción "Ejecutar en el contexto de seguridad del usuario conectado (opción de política de usuario)" que habilité y ahora la entrada del registro persiste
fuente
Dale una oportunidad a PowerShell:
fuente