Câu trả lời:
Kho chứng chỉ của Windows (hầu hết) được lưu trữ trong sổ đăng ký như được nêu ở đây . Tuy nhiên, trong khi IE, Chrome, Safari / iTunes, Outlook, v.v ... sử dụng kho chứng chỉ của Windows, Firefox và Thunderbird sử dụng kho chứng chỉ đa nền tảng của NSS. Opera cũng sử dụng cửa hàng chứng chỉ riêng của mình.
Nếu bạn muốn truy cập kho chứng chỉ của Windows, thì bạn nên sử dụng CryptoAPI của Microsoft. Nếu bạn muốn truy cập kho chứng chỉ NSS, thì bạn có thể sử dụng thư viện NSS .
Không có bất kỳ "thư mục" chứng nhận nào trong Windows; nó được lưu trữ trong cơ sở dữ liệu nội bộ ( Windows Registry ) mà bạn giao tiếp bằng cách sử dụng các cách bạn đã liệt kê trong câu hỏi ban đầu của mình. Cách dễ nhất để đến cơ sở dữ liệu đó chỉ là đặt certmgr.msc
vào hộp bắt đầu / chạy của bạn.
Nếu bạn thực sự tò mò, bạn có thể tìm thấy các mục đăng ký thực tế trong:
\SOFTWARE\Microsoft\SystemCertificates\
Trong HKEY_CURRENT_USER
các chứng chỉ dành riêng cho người dùng và HKEY_LOCAL_MACHINE
cho các chứng chỉ dành riêng cho máy, nhưng chúng sẽ là các đốm nhị phân không thể đọc được. Nó chỉ tốt hơn để sử dụng snap-in MMC mà tôi đã liệt kê trước đó.
Dưới đây là tóm tắt vị trí (khoá đăng ký và tệp):
Cấp độ người dùng (đăng ký):
HKEY_CURRENT_USER\Software\Microsoft\SystemCertificates
: Chứa chứng chỉ cài đặt cho người dùng hiện tại.
HKEY_CURRENT_USER\Software\Policies\Microsoft\SystemCertificates
: Giống như vị trí trước đó, nhưng điều này tương ứng với chứng chỉ người dùng đã triển khai GPO (Chính sách nhóm).
HKEY_USERS\SID-User\Software\Microsoft\SystemCertificates
: Tương ứng với cấu hình của một số chứng chỉ người dùng. Mỗi người dùng có chi nhánh trong sổ đăng ký với SID (Mã định danh bảo mật).
Cấp độ máy tính (đăng ký):
HKEY_LOCAL_MACHINE\Software\Microsoft\SystemCertificates
: Chứa chứng chỉ cài đặt cho tất cả người dùng máy tính.
HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates
: Giống như vị trí trước đó, nhưng điều này tương ứng với chứng chỉ máy tính đã triển khai GPO.
Cấp dịch vụ (đăng ký):
HKEY_LOCAL_MACHINE\Software\Microsoft\Cryptography\Services\ServiceName\SystemCertificates
: Chứa chứng chỉ cài đặt cho tất cả các dịch vụ trên máy tính.
Cấp độ Active Directory (đăng ký):
HKEY_LOCAL_MACHINE\Software\Microsoft\EnterpriseCertificates
: Chứng chỉ được cấp ở cấp Active Directory.
Và có một số thư mục và tệp tương ứng với kho chứng chỉ Windows.
Các thư mục được ẩn và các khóa công khai và riêng tư được đặt trong các thư mục khác nhau.
Chứng chỉ người dùng (tệp):
%APPDATA%\Microsoft\SystemCertificates\My\Certificates
%USERPROFILE%\AppData\Roaming\Microsoft\Crypto\RSA\SID
%USERPROFILE%\AppData\Roaming\Microsoft\Credentials
%USERPROFILE%\AppData\Roaming\Microsoft\Protect\SID
Chứng chỉ máy tính (tập tin):
C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys
Trích xuất từ: http://www.sysadmit.com/2017/10/windows-donde-se-guardan-certificados.html
Các chứng chỉ được lưu trữ trong sổ đăng ký tại
HKLM/Software/Microsoft/SystemCertificates
Chứng chỉ cá nhân hoặc chứng chỉ khác dành riêng cho người dùng đã đăng nhập đang ở
HKCU/Software/Microsoft/SystemCertificates
Chúng được lưu trữ dưới dạng các đốm nhị phân, vì vậy chúng cần được giải mã và plugin MMC là một cách tốt để làm điều này.
Tạo cơ hội cho PowerShell:
Get-Childitem Cert:\currentUser -Recurse | Format-Table -AutoSize PSPath, FriendlyName, DnsNamelist
HKLM/Software/Microsoft/SystemCertificates
vàHKCU/Software/Microsoft/SystemCertificates
. Lưu ý hệ thống bị thiếu.