はじめに
前回、証明書ストアについて深堀してきました。その中で、証明書ストアという言葉が実は複数のものの総称であることをみてきました。
そして、ブラウザは、独自に証明書ストアを持っているが、それだけに頼るのではなく、OS の管理する証明書ストアの参照も行っていることをみてきました。
今回は、実装で使用した Chrome ブラウザを例にとり、登録されたルート認証局(CA)証明書をどのように分類して管理しているかを証明書マネージャを通してみていきたいと思います。
証明書マネージャの開き方
Chrome ブラウザの証明書マネージャは、設定画面から呼び出すことが可能です。手順は、全 OS を通して共通しており、証明書マネージャの表示形態も OS を示す文言以外は、おおむね共通しています。
下記では、代表して Windows 上の Chrome ブラウザの証明書マネージャの開き方を示します。
※ Windows/macOS/ChromeOS/Linux に関しては下記のものを使用して確認しています。
- Windows:Windows 11 Pro 25H2 26200.9457
- macOS : macOS Sequoia 15.7.3
- ChromeOS : Arm64 版 ChromeOS 152.0.7977.129
- Linuxは、Arm64 版 Debian GNU/Linux 12 (bookworm)
※ Chrome ブラウザは、下記のものを使用して確認しています。
- Windows:バージョン 155.0.8059.12(公式ビルド)(64 ビット)
- macOS:バージョン 153.0.8010.53(公式ビルド)(x86_64)
- ChromeOS:バージョン 152.0.7977.129(公式ビルド)(64 ビット)
- Linux:バージョン 153.0.8010.52(公式ビルド)(arm64)
※ 使用するバージョンによっては、文言や手順に違いがでる可能性があります。
1. 設定を開く
Chrome ブラウザを起動し、右上の 3点の vertical ellipsis(縦省略記号)(ケバブメニュー)をクリックしてポップアップメニューを表示します。その後、表示されたメニューの「設定」をクリックして設定画面を表示します。
※ 本記事のスクリーンショットでは、操作する箇所を朱色の円で囲んで示しています。
2. プライバシーとセキュリティの設定を開く
新しく開かれた「設定」タブの左ペインから、「プライバシーとセキュリティ」をクリックします。
3. セキュリティを開く
右ペインの「セキュリティ」をクリックします。
4. 証明書の管理を開く
設定画面の右ペインが切り替わったら、下方向へスクロールし、「証明書の管理」をクリックします。
5. 証明書マネージャの確認
新しいタブで証明書マネージャが開かれることを確認します。
以上が、Chrome ブラウザの証明書マネージャの開き方となります。ここからは、この証明書マネージャを詳しくみていきたいと思います。
証明書の分類
証明書マネージャでは、証明書が大きく3つの分類に分けて表示されています。
- ローカル証明書
- ユーザーの証明書
- Chrome Root Store
画面の左ペインで選択可能です。切り替えると右ペインが変化します。
ローカル証明書
OS または管理者が追加したローカル証明書が管理されています。
ここは、下記の2種類に分類されています。
- OS からインポートされた証明書
- カスタム
以下は、Windows/macOS/ChromeOS/Linux 上の Chrome の証明書マネージャの画面です。
Windows の場合
macOS の場合
ChromeOS の場合
Linux の場合
※ OS によって若干の違いはありますが、おおむね共通しています。
■ OS からのインポートされた証明書
ここでは、OS からインポートされた証明書を参照することができます。Windows や macOS の場合、OS の証明書マネージャの呼び出しも可能です。
※ 筆者の環境では、ChromeOS には、この分類は存在しませんでした。また、Linux の場合、証明書マネージャの呼び出しはできませんでした。
※ 筆者の環境では、OS の管理する証明書ストアのすべてがインポートされるのではなく、「中間証明機関」と「信頼されたルート証明機関」に登録されているもののうち、下記の条件を満たすものがインポートされていました。
- 後述する「Chrome Root Store」に登録されていないもの
- 有効期間内のもの
- Windows の場合、「中間証明機関」と「信頼されたルート証明機関」に登録されているもので、証明書の目的が「サーバー認証」のもの
- macOS の場合、「認証局」として登録されているもの
- Linux の場合、 Linux(ブラウザ用)の ~/.pki/nssdb/ に登録されているもの
■ カスタム
Chrome ブラウザから追加した証明書が管理されています。
画面の「自分でインストール」をクリックすることで右ペインが切り替わります。
下記の分類で、それぞれ登録・削除が可能です。
- 信頼できる証明書
- 中間証明書
- 信頼できない証明書
登録された証明書は、Chrome ブラウザ内だけで有効です。ほかのアプリケーションには、影響を与えません。
HTTPS テスト環境への接続で使用する mkcert のルート認証局(CA)証明書の登録には、このカスタムの「信頼できる証明書」へのインポートが利用できそうです。
ユーザーの証明書
他のサーバーに対してユーザーの認証を行うクライアント証明書が管理されています。
以下は、Windows/macOS/ChromeOS/Linux 上の Chrome の証明書マネージャの画面です。ここの文言は、OS によって若干違います。
Windows の場合
macOS の場合
ChromeOS の場合
Linux の場合
ここでは、OS からインポートされた証明書を参照することができます。Windows や macOS の場合、これらのカスタマイズはできませんが、OS の証明書マネージャの呼び出しが可能です。
※ 筆者の環境では、ChromeOS と Linux には、証明書マネージャの呼び出し機能はありませんでした。しかし、インポートされた証明書の表示画面において、証明書の登録が可能となっていました。
※ 筆者の環境では、OS の管理する証明書ストアのすべてがインポートされているのではなく、登録されているもののうち、以下の条件を満たすものだけがインポートされていました。
- Windows の場合、「個人」に登録されているもの
- 「クライアント認証」で使用するもの
- 有効期間内のもの
Chrome Root Store
Chrome Root Program が信頼する認証局の証明書が管理されています。
※ 筆者の環境では、Chrome Root Store に登録されている証明書には、OS の管理する証明書マネージャの「信頼されたルート証明機関」に登録されているものも存在しますが、中身は少し異なりました。
以下は、Windows/macOS/ChromeOS/Linux 上の Chrome の証明書マネージャの画面です。
Windows の場合
macOS の場合
ChromeOS の場合
Linux の場合
この分類のカスタマイズはできません。
※ 筆者の環境では、 登録されている証明書に、 OS による違いはみられませんでした。
まとめ
- Chrome ブラウザでは、独自の証明書ストアを管理している。
- Chrome ブラウザの独自証明書ストアでは、下記の3つの分類で証明書を管理している。
- ローカル証明書
- ユーザーの証明書
- Chrome Root Store
- ローカル証明書やユーザーの証明書では、独自管理に加え、OS の管理する証明書ストアからインポートされたものも存在する。
- ローカル証明書(カスタム)では、ユーザーによる証明書の追加・削除が可能である。ただし、登録された証明書は、Chrome ブラウザだけで有効である。
次回予告
次回は、OS の管理する証明書ストアではなく、Chrome ブラウザの証明書ストアにルート認証局(CA)証明書を登録し、その動作確認を行っていきたいと思います。