回答:
Windowsの証明書ストアは、ここで説明するように(ほとんど)レジストリに保存されます。ただし、IE、Chrome、Safari / iTunes、OutlookなどはWindowsの証明書ストアを使用しますが、FirefoxとThunderbirdはNSSのクロスプラットフォーム証明書ストアを使用します。Operaは独自の証明書ストアも使用します。
Windowsの証明書ストアにアクセスする場合は、MicrosoftのCryptoAPIを使用する必要があります。NSS証明書ストアにアクセスする場合は、NSSライブラリを使用できます。
Windowsには、証明書の「フォルダー」はありません。元の質問でリストした方法を使用してインターフェイスする内部データベース(Windowsレジストリ)に保存されます。そのデータベースにアクセスする最も簡単な方法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
。不足しているシステムに注意してください。