¿Dónde está la carpeta del certificado en Windows 7?

28

¿Podemos saber la ubicación exacta del certificado ( DigiCert , Verisign , etc.)?

En este momento, la única forma de verificar el certificado es utilizando la aplicación MMC en System32 o en nuestro navegador web (Internet Explorer, Firefox, etc.) opciones de Internet.

newbie.my
fuente

Respuestas:

20

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 .

Lèse majesté
fuente
18

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.mscen su cuadro de inicio / ejecución.


Si tiene mucha curiosidad, puede encontrar las entradas de registro reales en:

\SOFTWARE\Microsoft\SystemCertificates\

Para HKEY_CURRENT_USERcertificados específicos de usuario y HKEY_LOCAL_MACHINEpara certificados específicos de máquina, pero serán blobs binarios no legibles. Es mejor usar el complemento MMC que mencioné anteriormente.

Scott Chamberlain
fuente
9

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

Michael Kade
fuente
3

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.

Paul
fuente
En mi PC con Windows 7 x64, la ruta es la siguiente: HKLM/Software/Microsoft/SystemCertificatesy HKCU/Software/Microsoft/SystemCertificates. Tenga en cuenta el sistema que falta.
bagavadhar
1
@ashwin Hola ashwin: tengo la respuesta correcta. Tenga en cuenta que si ve que se necesita una corrección, puede editar la publicación usted mismo.
Paul
No soy un experto en este tema. Descubrí que mi PC era diferente de la mencionada y no estaba seguro de si la mía era una excepción o si es la forma habitual.
bagavadhar
@ashwin Aah, genial, ya veo. Gracias por el aviso sobre el error.
Paul
0

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

Miguel
fuente
0

Dale una oportunidad a PowerShell:

Get-Childitem Cert:\currentUser -Recurse | Format-Table -AutoSize PSPath, FriendlyName, DnsNamelist
Francesco Mantovani
fuente