Web

クロスルート証明書の仕組みについての覚書

投稿日:2021年10月7日 更新日:

1. はじめに

本記事は、クロスルート証明書の仕組みについての覚書です。

2. クロスルート証明書の仕組み

フェーズ1

R2M2S というチェーンのサーバ証明書 S を、とある Webサイトで利用しているとします。

ブラウザA からはサーバ証明書 S が正常に利用できない状態

この状態だと、ルート証明書 R1 しか持っていない(古い)ブラウザでは、このWebサイトを HTTPS で閲覧することができません(R1 から S まで間が、署名によってつながっていないからです)。警告もしくはエラーになります。

フェーズ2

ルート証明書 R1 しか持っていない(古い)ブラウザでも、中間CA証明書 M2 が署名したサーバ証明書を利用できるようにすることにしました。

そのため、中間CA証明書(クロスルート用) M1 を新しく発行しました。

ブラウザAからでも、サーバ証明書 S が正常に利用できる状態

ここでのポイントは以下です。

  • R2 と同じ「サブジェクト」と「公開鍵」を持つ M1 という中間CA証明書を作成する。この中間CA証明書 M1 には、R1 で署名しておく。
  • これにより、中間CA証明書 M1 から、中間CA証明書 M2 に署名したのと同じ状態になる。
  • つまり、中間CA証明書 M2 が持っている署名は、ルート証明書 R2 と中間CA証明書 M1 のどちらからでも検証が成功する状態になる(正当性の検証)。
  • R1M1M2S という証明書チェーンができあがる。
  • Webサーバーで、SM2 と一緒に M1 も提供するように設定しておく。
  • クロスルート用の中間CA証明書を利用すると、証明書チェーンが1階層増える。

3. おわりに

何か間違いがありましたら、お気軽にご指摘ください。

SSLサーバ証明書については、以下の記事もご覧ください。

Web

SSLサーバー証明書の発行手順

2019.02.26
Web

openssl s_client コマンドでウェブサーバーの SSL/TLS 対応状況を診断する

2019.03.07

4. 参考

📂-Web

執筆者:labo


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

Web

閲覧しているウェブページで利用されている HTTP のバージョンを確認する方法

ウェブブラウザで ウェブサイトを閲覧している際、HTTP のどのバージョンが使われているのか確かめる方法を紹介します。 目次Chrome の場合FirefoxEdge Chrome の場合 (1) ウ …

Web

ウェブブラウザがページを取得して表示するまでの流れ

目次1. はじめに2. Chrome デベロッパーツールの [Network]パネル3. リソース毎の処理の流れ4. その後の流れ5. DOMContentLoaded と load イベント6. グ …

Web

Cookie使用の同意を求めるポップアップを表示する (Cookie Consent by Osano)

Cookie Consent by Osano の使い方について説明します。

Chrome

Chrome のローカルオーバーライド機能を使ってWebサイトのファイルをローカルのファイルに置き換える

目次1. Chrome のローカルオーバーライド機能とは?2. 使い方1. この機能で使用するローカル側のフォルダーを指定します2. 置き換えるファイルを指定します3. ファイルを編集します3. Ov …

Web

WordPressの記事ページ (それ以外でも多分OK) に、Google Charts を使って生成したグラフを表示する方法

目次1. はじめに2. やりたいこと3. やり方(1) Google Charts の JavaScript ファイルを読み込ませる(2) グラフを表示させたい箇所に div タグを記述する(3) グ …