Responder1
O armazenamento de certificados do Windows é (principalmente) armazenado no registroconforme descrito aqui. No entanto, enquanto o IE, Chrome, Safari/iTunes, Outlook, etc. usam o armazenamento de certificados do Windows, o Firefox e o Thunderbird usam o armazenamento de certificados de plataforma cruzada do NSS. O Opera também usa seu próprio armazenamento de certificados separado.
Se quiser acessar o armazenamento de certificados do Windows, você deve usar o CryptoAPI da Microsoft. Se quiser acessar o armazenamento de certificados NSS, você pode usar oBiblioteca NSS.
Responder2
Não existe nenhuma "pasta" de certificados no Windows; ele é armazenado em um banco de dados interno (Registro do Windows) que você faz a interface usando as formas listadas na sua pergunta original. A maneira mais fácil dechegar a esse banco de dadosé apenas colocado certmgr.msc
na sua caixa iniciar/executar.
Se você estiver realmente curioso, poderá encontrar as entradas reais do registro em:
\SOFTWARE\Microsoft\SystemCertificates\
Para HKEY_CURRENT_USER
certificados específicos do usuário e HKEY_LOCAL_MACHINE
para certificados específicos da máquina, mas eles serão blobs binários ilegíveis. É melhor usar oMMCsnap-in que listei anteriormente.
Responder3
Aqui está um resumo da localização (chaves de registro e arquivos):
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 o local anterior, mas corresponde aos certificados de usuário implantados em um GPO (Política de Grupo).
HKEY_USERS\SID-User\Software\Microsoft\SystemCertificates
: corresponde à configuração de determinados certificados de usuário. Cada usuário possui sua filial no cadastro com SID (Security Identifier).
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 o local anterior, mas 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 do 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 ficam 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
Responder4
Dê uma chance ao PowerShell:
Get-Childitem Cert:\currentUser -Recurse | Format-Table -AutoSize PSPath, FriendlyName, DnsNamelist