Onde está a pasta do certificado no Windows 7?

28

Podemos saber a localização exata do certificado ( DigiCert , Verisign , etc.)?

No momento, a única maneira de verificar o certificado é usando o aplicativo MMC no System32 ou em nosso navegador (Internet Explorer, Firefox, etc.).

newbie.my
fonte

Respostas:

20

O armazenamento de certificados do Windows (principalmente) é armazenado no registro, conforme descrito aqui . No entanto, enquanto o IE, Chrome, Safari / iTunes, Outlook etc. usam o repositório de certificados do Windows, o Firefox e o Thunderbird usam o repositório de certificados entre plataformas do NSS. O Opera também usa seu próprio armazenamento de certificados separado.

Se você deseja acessar o armazenamento de certificados do Windows, use o CryptoAPI da Microsoft. Se você quiser acessar o armazenamento de certificados NSS, poderá usar a biblioteca NSS .

Lèse majesté
fonte
18

Não há nenhuma "pasta" de certificados no Windows; ele é armazenado em um banco de dados interno ( Registro do Windows ) com o qual você faz interface usando as maneiras listadas na sua pergunta original. A maneira mais fácil de acessar esse banco de dados é simplesmente colocar certmgr.mscna sua caixa de inicialização / execução.


Se você estiver realmente curioso, poderá encontrar as entradas reais do registro em:

\SOFTWARE\Microsoft\SystemCertificates\

Para HKEY_CURRENT_USERcertificados específicos do usuário e certificados específicos HKEY_LOCAL_MACHINEda máquina, eles serão blobs binários não legíveis. É melhor usar o snap-in do MMC listado anteriormente.

Scott Chamberlain
fonte
9

Aqui está um resumo do local (chaves e arquivos de registro):

Nível de usuário (registro):

HKEY_CURRENT_USER\Software\Microsoft\SystemCertificates: Contém certificados de configurações para o usuário atual.

HKEY_CURRENT_USER\Software\Policies\Microsoft\SystemCertificates: Como no local anterior, mas isso corresponde aos certificados de usuário implantados em um GPO (Diretiva de Grupo).

HKEY_USERS\SID-User\Software\Microsoft\SystemCertificates: Corresponde à configuração de determinados certificados de usuário. Cada usuário tem sua filial no registro com o SID (Identificador de Segurança).

Nível do computador (registro):

HKEY_LOCAL_MACHINE\Software\Microsoft\SystemCertificates: Contém certificados de configurações para todos os usuários de computador.

HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates: Como no local anterior, mas isso corresponde aos certificados de computador implantados em um GPO.

Nível de serviço (registro):

HKEY_LOCAL_MACHINE\Software\Microsoft\Cryptography\Services\ServiceName\SystemCertificates: Contém certificados de configurações para todos os serviços no computador.

Nível do Active Directory (registro):

HKEY_LOCAL_MACHINE\Software\Microsoft\EnterpriseCertificates: Certificados emitidos no nível do Active Directory.

E existem algumas pastas e arquivos correspondentes ao armazenamento de certificados do Windows.

As pastas estão ocultas e as chaves públicas e privadas estão localizadas em pastas diferentes.

Certificados de usuário (arquivos):

%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 computador (arquivos):

C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys

Extraído de: http://www.sysadmit.com/2017/10/windows-donde-se-guardan-certificados.html

Michael Kade
fonte
3

Os certificados são armazenados no registro em

HKLM/Software/Microsoft/SystemCertificates

Certificados pessoais ou outros certificados específicos para o usuário conectado estão em

HKCU/Software/Microsoft/SystemCertificates

Eles são armazenados como blobs binários, portanto, precisam ser decodificados, e o plug-in do MMC é uma boa maneira de fazer isso.

Paulo
fonte
No meu windows 7 x64 PC, o caminho é o seguinte: HKLM/Software/Microsoft/SystemCertificatese HKCU/Software/Microsoft/SystemCertificates. Observe o sistema ausente.
bagavadhar
1
@ashwin Oi ashwin - Corrigi a resposta. Observe que, se você perceber que é necessária uma correção, seja bem-vindo e incentivado a editar a postagem você mesmo.
Paul
Eu não sou um especialista neste tópico. Descobri que meu PC era diferente do mencionado e não tinha certeza se o meu era exceção ou se é o caminho usual.
bagavadhar
@ashwin Aah, ótimo, entendo. Obrigado pelo aviso sobre o erro.
Paul
0

Olhei novamente para a preferência de política de grupo que estava usando. Há uma opção "Executar no contexto de segurança do usuário conectado (opção de política do usuário)" que eu habilitei e agora a entrada do registro está persistindo

Michael
fonte
0

Dê uma chance ao PowerShell:

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