PowerShellで証明書ストアを表示した時の出力結果。たまになんだっけ?となるのでメモ。
カレントユーザーの証明書ストア(certmgr.msc)
- Cert:\CurrentUser\TrustedPublisher
- Cert:\CurrentUser\ClientAuthIssuer
- Cert:\CurrentUser\Root
- Cert:\CurrentUser\UserDS
- Cert:\CurrentUser\CA
- Cert:\CurrentUser\REQUEST
- Cert:\CurrentUser\AuthRoot
- Cert:\CurrentUser\MSIEHistoryJournal
- Cert:\CurrentUser\TrustedPeople
- Cert:\CurrentUser\ADDRESSBOOK
- Cert:\CurrentUser\Local NonRemovable Certificates
- Cert:\CurrentUser\My
- Cert:\CurrentUser\SmartCardRoot
- Cert:\CurrentUser\Trust
- Cert:\CurrentUser\Disallowed
ローカルコンピューターの証明書ストア(certlm.msc)
- Cert:\LocalMachine\TestSignRoot
- Cert:\LocalMachine\ClientAuthIssuer
- Cert:\LocalMachine\Remote Desktop
- Cert:\LocalMachine\Root
- Cert:\LocalMachine\TrustedDevices
- Cert:\LocalMachine\MSIEHistoryJournal
- Cert:\LocalMachine\CA
- Cert:\LocalMachine\TrustedAppRoot
- Cert:\LocalMachine\eSIM Certification Authorities
- Cert:\LocalMachine\AuthRoot
- Cert:\LocalMachine\Windows Live ID Token Issuer
- Cert:\LocalMachine\TrustedPublisher
- Cert:\LocalMachine\AAD Token Issuer
- Cert:\LocalMachine\FlightRoot
- Cert:\LocalMachine\WebHosting
- Cert:\LocalMachine\TrustedPeople
- Cert:\LocalMachine\AddressBook
- Cert:\LocalMachine\Local NonRemovable Certificates
- Cert:\LocalMachine\My
- Cert:\LocalMachine\SmartCardRoot
- Cert:\LocalMachine\Trust
- Cert:\LocalMachine\Disallowed
- Cert:\LocalMachine\Homegroup Machine Certificates
- Cert:\LocalMachine\REQUEST
よく使うもの
Cert:\CurrentUser\RootとCert:\LocalMachine\Root。いずれも「信頼できるルート証明機関」を表すけどユーザーかコンピューターかが異なる点。社内向けPKIのCA証明書をCert:\LocalMachine\Rootにインポートすることが多い。PowerShellなら以下のような感じかな。
Import-Certificate -FilePath 'C:\tmp\SyanaiCA.cer' -CertStoreLocation 'Cert:\LocalMachine\Root'
証明書認証するときはCert:\CurrentUser\MyとCert:\LocalMachine\Myも割と使う。いずれも「個人」を表す。EAP-TLSでネットワーク認証しているときはCert:\LocalMachine\Myにインポートすることが多い。例によってPowerShellでインポートするなら以下。クライアント証明書はPKCS#12形式のことが多いか。
$password = ConvertTo-SecureString -Force -AsPlainText -String "証明書のパスワード"
Import-PfxCertificate -FilePath 'C:\tmp\my_cert.pfx' -CertStoreLocation 'Cert:\LocalMachine\My' -Password $password