アプリ開発ときどきアウトドア

主にJavaを使ったアプリ開発やトラブルシューティング等のノウハウ、キャンプや登山の紹介や体験談など。

1. システムエンジニアリング PowerShell SSL/TLS/PKI windows 基盤技術

Windowsの証明書ストアの基礎知識と確認方法

投稿日:2020年11月8日 更新日:

※証明書ストア、システムストア、物理ストアの厳密な定義や違いを読み解けなかったため、マイクロソフトのリファレンスを意訳して言葉を使用しています。

証明書ストアの基礎

証明書ストアの確認方法

  • 管理ツールを使った証明書ストアの確認方法
    「コンピューター証明書の管理」: certlm.mscコマンド
    「ユーザー証明書の管理」: certmgr.mscコマンド
  • PowerShellを使った証明書ストアの確認方法
    Get-ChildItemを使って、次のように物理ストア名を確認できます。
    (この例では、現在のユーザの証明書ストアを確認するために”cert:\CurrentUser”を指定します。ローカルコンピューターの証明書ストアを確認する場合は代わりに”cert:\LocalMachine”を指定してください。)
    > Get-ChildItem -Path cert:\CurrentUser
    
    Name : TrustedPublisher
    Name : ClientAuthIssuer
    Name : Root
    Name : UserDS
    Name : CA
    Name : REQUEST
    Name : AuthRoot
    Name : MSIEHistoryJournal
    Name : TrustedPeople
    Name : ADDRESSBOOK
    Name : Local NonRemovable Certificates
    Name : My
    Name : SmartCardRoot
    Name : Trust
    Name : Disallowed
    

物理ストアの一覧と物理名

  • 管理ツール上の物理ストア表示名と物理ストア物理名の対応が分かりづらいので、参考を掲載します。
    • 英語版・日本語版の管理ツールの画面比較
    • 画面比較でも分かりづらいので、実際に試行錯誤して調べた結果です。
      (管理ツールにて、名前の異なる証明書を各ストアにインストールし、各証明書がどの物理ストアに格納されたかをPowerShellで確認しました。)
      管理ツールでの物理ストア表示名(英語) 物理ストア物理名 備考
      個人
      (Personal)
      My
      信頼されたルート証明機関
      (Trusted Root Certificate Authorities)
      Root
      エンタープライズの信頼
      (Enterprise Trust)
      Trust
      中間証明機関
      (Intermediate Certification Authorities)
      CA 他のストアにある証明書も見える
      Active Directory ユーザー オブジェクト
      (Active Directory User Object)
      UserDS
      信頼された発行元
      (Trusted Publishers)
      TrustedPublisher
      信頼されていない証明書
      (Untrusted Certificates)
      Disallowed
      サード パーティ ルート証明機関
      (Third-Party Root Certification Authorities)
      AuthRoot
      信頼されたユーザー
      (Trusted People)
      TrustedPeople
      クライアント認証発行者
      (Client Authentication Issuers)
      ClientAuthIssuer
      ほかの人
      (Other People)
      ADDRESSBOOK
      Local NonRemovable Certificates
      (Local NonRemovable Certificates)
      Local NonRemovable Certificates
      MSIEHistoryJournal
      (MSIEHistoryJournal)
      MSIEHistoryJournal
      証明書の登録要求
      (Certificate Enrollment Requests)
      REQUEST
      スマート カードの信頼されたルート
      (Smart Card Trusted Roots)
      SmartCardRoot

証明書一覧と内容の確認

  • 証明書ストアに格納される証明書の一覧は次のように確認できます。
    例えば、「現在のユーザ」(CurrentUser)の「信頼されたルート証明機関」(Root)にある証明書一覧を取得する場合は、-Pathに”Cert:\CurrentUser\Root”を指定します。
    > Get-ChildItem -Path Cert:\CurrentUser\Root
    
    Thumbprint                                Subject
    ----------                                -------
    CDD4EEAE6000AC7F40C3802C171E30148030C072  CN=Microsoft Root Certi...
    BE36A4562FB2EE05DBB3D32323ADF445084ED656  CN=Thawte Timestamping ...
    ...
    
  • 例えば、上記の証明書一覧の先頭にある証明書(Thumbprint: CDD4EEA…030C072)を確認する場合は、”\CurrentUser\Root\CDD4EEA…030C072″を指定します。
    > Get-ChildItem -Path Cert:\CurrentUser\Root\CDD4EEA...030C072 | Select *
    
    PSPath                   : Microsoft.PowerShell.Security\Certificat...
    PSParentPath             : Microsoft.PowerShell.Security\Certificat...
    PSChildName              : CDD4EEAE6000AC7F40C3802C171E30148030C072
    PSDrive                  : Cert
    PSProvider               : Microsoft.PowerShell.Security\Certificate
    ...
    


(adsbygoogle = window.adsbygoogle || []).push({});


(adsbygoogle = window.adsbygoogle || []).push({});

-1. システムエンジニアリング, PowerShell, SSL/TLS/PKI, windows, 基盤技術

執筆者:

関連記事

パスワード情報の保管方式の比較

Webアプリの開発でパスワードを使ったユーザ認証を設計・実装する機会がよくある。 後輩への説明や勉強会ネタとして、この辺の話を纏めてみようと思う。 概要 オンラインバンキングやネットショッピングのサイ …

保守運用

運用 と 保守 の 違い

若い頃は 運用 と 保守 の違いを調べても良くわからなかった… この辺を使い分けられる人をほとんど見たことない… ある事項が運用なのか保守なのかの話をすると認識が合わない&#8 …

chromeのjavascriptを一時的に無効化

Webアプリの開発やテストで、クライアント側のバリデーションを無効にしてサーバ側バリデーションの動作確認する、等のように一時的にjavascriptを無効にしたい場合があります。これを実現するための方 …

OWASPが推奨する強力なパスワード

Webアプリケーションのセキュリティの標準化や推進を行うOWASPでは、強力なパスワードの使用を推奨しているので、それをまとめた。 cheatsheetseries.owasp.org  1 …

PowerPointの削除できない個人情報を消す

PowerPointで「個人情報の削除」を実行するとこで、作成者や会社名等の個人情報を削除できます。しかしながら、特定の項目に入った個人情報については、PowerPointやWindowsの標準機能で …