CSR(Certificate Signing Request)は、サーバー証明書などのデジタル証明書を発行してもらう際に、認証機関(CA)へ提出する「証明書発行の申請データ」です。CSRに含まれる公開鍵や申請者情報が証明書に反映されるため、作成方法や入力内容を誤ると、再発行や設定のやり直しが必要になることがあります。この記事では、CSRの役割、必要になる場面、生成から証明書取得までの流れ、注意点を整理します。
CSR(Certificate Signing Request)はデジタル証明書の分野で使われる概念で、認証機関(CA)に対して証明書の発行(署名)を依頼するためのデータです。ここでは、CSRの役割と、CSRが必要になるケースを紹介します。
CSRは、デジタル証明書を取得するための申請書のような役割を持ちます。CSRには申請者の公開鍵と、証明書に記載したい識別情報(組織名・部署名・国名・ドメイン名など)が含まれており、これを認証機関(CA)に提出すると、公開鍵と識別情報が結び付いたデジタル証明書が発行されます。
また、CSRは申請者が保有する秘密鍵で署名されるのが一般的です。これにより、CSRに含まれる公開鍵に対応する秘密鍵を申請者自身が保有していることを示します。
デジタル証明書が導入されることで、ウェブサイトの利用者は、接続先が正当な主体であるかどうかを確認しやすくなり、暗号化された通信が行われている状態かどうかを判断できます。

CSRが必要になる代表的な場面として、SSL/TLS証明書の取得があります。たとえば、自身で運営するウェブサイトで通信を暗号化したい場合や、社内のメールサーバーでTLSを使って安全にメールを送受信したい場合、VPNや各種ゲートウェイにサーバー証明書を導入したい場合などでは、CSRを生成して認証機関(CA)に提出します。
CSRを提出して証明書を取得し、適切に設定することで、通信の暗号化や、接続先がなりすましでないことの確認に役立ちます。
CSRの利用は、一般に「秘密鍵の準備」「CSRの生成」「CSRの提出」「証明書の受領とインストール」という流れで進みます。以下では、それぞれの工程を順に解説します。
CSRはコマンドや専用ツールを使って生成します。代表例としてOpenSSLがあります。まず、秘密鍵を生成します。
openssl genrsa -out yourdomain.key 2048次に、この秘密鍵を使ってCSRを生成します。
openssl req -new -key yourdomain.key -out yourdomain.csrCSR生成の途中で、組織名や国名、コモンネーム(対象となるドメイン名など)の入力を求められます。ここで入力した内容が証明書に反映されるため、用途に合った値を正確に入力することが重要です。
CSRの生成が完了したら、このCSRを信頼できる認証機関(Certificate Authority:CA)に提出します。CSRには公開鍵や識別情報(組織名、部署名、国名、ドメイン名など)が含まれています。
提出方法はCAによって異なりますが、多くの場合は申請画面からCSRの文字列を貼り付ける、もしくはCSRファイルをアップロードする形式が採られます。CAは申請内容に応じて検証を行い、問題がなければ証明書を発行します。
CAが申請内容を検証し、証明書を発行します。この際、CSRに含まれる公開鍵が証明書に組み込まれます。そのため、発行された証明書の公開鍵と、手元で保管している秘密鍵が対になります。
証明書が発行されると、CAはその証明書にデジタル署名を付与します。これにより、証明書が信頼されたCAによって発行されたものであり、内容が改ざんされていないことを検証できるようになります。
証明書を受け取った後は、対象のウェブサーバーや機器に証明書(必要に応じて中間証明書を含む)をインストールし、秘密鍵と正しく紐づけて設定します。インストール手順は、ウェブサーバーや機器の種類によって異なります。
以上が、CSRを使って証明書を取得する一連の流れです。CSRの利用方法を理解しておくことで、証明書導入時の手戻りを減らしやすくなります。
このセクションでは、CSRがなぜ重要とされるのかを理解するために、「暗号化」と「認証」という観点から整理します。
個人情報や業務データなど、外部に漏れると問題になる情報は少なくありません。こうした情報を盗聴や改ざんから守るために、通信を暗号化することが重要です。
ただし、暗号化そのものを行うのはCSRではありません。CSRは証明書を発行してもらうための申請データであり、ここに含まれる公開鍵が証明書に組み込まれます。証明書を導入したサーバーは、対応する秘密鍵と組み合わせてTLS通信を成立させ、結果として通信が暗号化されます。
認証は、通信相手が本当に正当な主体かどうかを確かめるための仕組みです。たとえば、ウェブサイトに接続した利用者は、証明書の検証を通じて「この接続先が、提示されたドメイン名の管理者によるものかどうか」を判断します。
CSRは、証明書発行の起点として、申請者の公開鍵と識別情報をCAに伝える役割を担います。CSR自体は申請者の秘密鍵で署名されることが多く、公開鍵に対応する秘密鍵を申請者が保有していることを示す補助的な役割を果たします。一方で、最終的に発行される証明書はCAによって署名され、そのCAの信頼性が証明書全体の信頼性の根拠になります。