CSR(Certificate Signing Request/証明書署名要求)とは、SSL/TLS証明書の発行を認証局に申し込むために作成する、申請情報をまとめたデータのことです。証明書を設置したいサーバー上で、秘密鍵とあわせて作成します。
現実世界に例えると、CSRはパスポートの申請書のようなものです。氏名や住所といった申請内容と本人確認の材料をそろえて役所(認証局)へ提出し、審査を経て正式な身分証(証明書)を発行してもらう、という流れによく似ています。
CSR(証明書署名要求)図解
CSRに含まれる情報
| 項目 | 内容 | 記入例 |
|---|---|---|
| コモンネーム(CN) | 証明書を使うサーバーのドメイン名 | example.com |
| 組織名(O) | 申請する組織の正式名称 | Kijitora Soft Inc. |
| 市区町村(L) | 所在地の市区町村 | Chiyoda-ku |
| 都道府県(ST) | 所在地の都道府県 | Tokyo |
| 国(C) | 2文字の国コード | JP |
| 公開鍵 | 作成した鍵ペアのうち公開する側 | 自動で埋め込まれる |
なかでもコモンネームの入力を誤ると、発行された証明書がそのサーバーで使えません。もっとも注意が必要な項目です。
秘密鍵との関係
CSRを作るときには、必ず秘密鍵と公開鍵のペアを同時に作成します。このうち公開鍵だけがCSRに含まれて認証局へ渡り、秘密鍵はサーバーの中に保管したまま外へ出しません。発行された証明書は、この秘密鍵と対になって初めて機能します。秘密鍵を失うと証明書も使えなくなり、再発行が必要になります。
証明書が発行されるまでの流れ
- 鍵ペアとCSRの作成
サーバー上で秘密鍵を作り、続けてCSRを生成します。 - 認証局へ申請
CSRの内容を認証局の申込画面に貼り付けて提出します。 - 実在性の確認
認証局が、ドメインの所有者であることなどを審査します。 - 証明書の設置
発行された証明書をサーバーに配置し、秘密鍵と組み合わせて有効にします。
証明書の種類と審査の違い
| 種類 | 審査の範囲 | 発行までの目安 |
|---|---|---|
| DV(ドメイン認証) | ドメインの所有権のみ | 数分〜数時間 |
| OV(企業実在認証) | 組織の実在性も確認 | 数日 |
| EV(拡張認証) | より厳格な組織審査 | 1〜2週間 |
DVでは組織の審査が行われないため、CSRの組織名や所在地の入力が省略できる場合もあります。
複数のドメインをまとめたい場合
1枚の証明書で複数の名前に対応させたいときは、CSRの作成時にあわせて指定します。ワイルドカード証明書は「*.example.com」のように書き、その下のすべてのサブドメインをまとめて対象にできます。SAN(サブジェクト代替名)を使えば、まったく別のドメインを複数まとめることも可能です。どちらも対応している証明書の種類が限られるため、申し込み前に確認しておきます。
取り扱いの注意点
CSRは「—–BEGIN CERTIFICATE REQUEST—–」で始まるテキスト形式のデータです。この文字列自体は秘密の情報ではないため、認証局へそのまま送っても問題ありません。一方で、同時に作成した秘密鍵は絶対に他者へ渡してはいけません。またCSRは申請ごとに作り直すのが基本で、証明書の更新時にも新しく作成する運用が推奨されます。


コメント