Answers:
Windows中没有任何证书的“文件夹”。它存储在内部数据库(Windows Registry)中,您可以使用原始问题中列出的方式进行交互。进入该数据库的最简单方法是将其放在certmgr.msc
开始/运行框中。
如果您真的很好奇,可以在下面找到实际的注册表项:
\SOFTWARE\Microsoft\SystemCertificates\
在HKEY_CURRENT_USER
特定于用户的证书和HKEY_LOCAL_MACHINE
机器特定的证书,但他们将是不可读的二进制块。最好使用前面列出的MMC管理单元。
以下是位置摘要(注册表项和文件):
用户级别(注册表):
HKEY_CURRENT_USER\Software\Microsoft\SystemCertificates
:包含当前用户的设置证书。
HKEY_CURRENT_USER\Software\Policies\Microsoft\SystemCertificates
:与先前的位置类似,但这对应于部署了GPO(组策略)的用户证书。
HKEY_USERS\SID-User\Software\Microsoft\SystemCertificates
:与某些用户证书的配置相对应。每个用户都在注册表中具有SID(安全标识符)的分支。
计算机级别(注册表):
HKEY_LOCAL_MACHINE\Software\Microsoft\SystemCertificates
:包含所有计算机用户的设置证书。
HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates
:与以前的位置相同,但这对应于部署了GPO的计算机证书。
服务级别(注册):
HKEY_LOCAL_MACHINE\Software\Microsoft\Cryptography\Services\ServiceName\SystemCertificates
:包含计算机上所有服务的设置证书。
Active Directory级别(注册表):
HKEY_LOCAL_MACHINE\Software\Microsoft\EnterpriseCertificates
:在Active Directory级别颁发的证书。
并且有一些文件夹和文件对应于Windows证书存储。
这些文件夹是隐藏的,并且公用密钥和专用密钥位于不同的文件夹中。
用户证书(文件):
%APPDATA%\Microsoft\SystemCertificates\My\Certificates
%USERPROFILE%\AppData\Roaming\Microsoft\Crypto\RSA\SID
%USERPROFILE%\AppData\Roaming\Microsoft\Credentials
%USERPROFILE%\AppData\Roaming\Microsoft\Protect\SID
计算机证书(文件):
C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys
摘自: http : //www.sysadmit.com/2017/10/windows-donde-se-guardan-certificados.html
证书存储在注册表中
HKLM/Software/Microsoft/SystemCertificates
个人证书或特定于登录用户的其他证书位于
HKCU/Software/Microsoft/SystemCertificates
它们存储为二进制Blob,因此需要对其进行解码,而MMC插件是实现此目的的好方法。
给PowerShell一个机会:
Get-Childitem Cert:\currentUser -Recurse | Format-Table -AutoSize PSPath, FriendlyName, DnsNamelist
HKLM/Software/Microsoft/SystemCertificates
和HKCU/Software/Microsoft/SystemCertificates
。注意缺少的系统。