CSRとは?
証明書署名要求(CSR)は、SSL/TLS証明書を取得するために認証局(CA)へ送るファイルです。CSRには、公開鍵、証明書で保護したいドメイン名、任意の会社情報が含まれています。これらはすべて対になる秘密鍵で署名されており、その鍵を保有していることを証明します。
CSRを生成すると、必ず2つのファイルが作成されます。認証局の申し込みフォームに貼り付けるCSRと、サーバー上に保管する秘密鍵です。CAはあなたの公開鍵に署名して証明書を返送しますが、その証明書はこの秘密鍵と組み合わせたときにしか機能しません。

CSRを作成する方法
メインのドメインをコモンネームとして入力します。たとえば example.com、ワイルドカード証明書なら *.example.com です。
証明書で保護したい追加のドメインやサブドメインを入力します。www 付きのドメインは、チェックを外さない限り自動的に追加されます。
RSA 2048はあらゆる環境で使えます。ECDSA P-256は鍵が小さく高速で、最新のブラウザとサーバーはすべて対応しています。
両方のファイルをダウンロードします。CSRは認証局の申し込みフォームに貼り付け、.key ファイルは大切に保管してください。証明書をインストールするときに必要になります。
Advertisement
CSRの各項目に入力する内容
訪問者が入力するとおりのメインのドメインです:example.com または *.example.com。https:// やパスは付けません。
証明書で保護するすべての名前です。ブラウザはコモンネームではなくSANだけを確認するため、このツールでは必ずCNもSANに含めます。
正式な会社名、市区町村、都道府県、国です。ドメイン認証(DV)証明書では無視され、組織認証(OV)・拡張認証(EV)証明書ではCAが審査します。
US、GB、DE のような2文字のISOコードです。国名を正式名称で入力すると、ほとんどのCAでCSRが無効になります。
公開CAは2022年9月に証明書へのOUの記載をやめたため、ほとんどのCAはOUを拒否するか無視します。
必要になることはほとんどありません。証明書から完全に削除してしまうCAもあります。
RSAとECDSA:どちらの鍵を選ぶべきですか?
確実な選択肢です。古いものも含め、あらゆるCA、サーバー、クライアントで使えます。
鍵が大きいほど、TLSハンドシェイクのたびに処理が遅くなります。ポリシーで求められる場合にのみ使ってください。
RSA 3072と同程度の強度で、鍵がはるかに小さく、ハンドシェイクも高速です。最新のブラウザとサーバーはすべて対応しています。
より厳しいポリシー向けです。P-256よりわずかに遅いものの、RSA 4096よりはるかに軽量です。
Advertisement
秘密鍵を安全に保管する
秘密鍵は誰にも送らないでください。 認証局も例外ではありません。CAに必要なのはCSRだけです。
ページを離れる前に保存してください。 秘密鍵はお使いのブラウザ内にしか存在せず、当社では復元できません。秘密鍵がなければ証明書は使えません。
サーバー上では厳しいアクセス権で保管してください。 たとえば
chmod 600 example.com.keyを実行し、Webサーバーだけが読み取れるようにします。リクエストのたびに新しい鍵を使ってください。 鍵が漏えいした可能性がある場合は、新しいCSRを生成して証明書を再発行してもらいましょう。
証明書の有効期間は短くなっています。 公開TLS証明書の有効期間は2026年3月から最長200日に制限され、今後もさらに短縮されるため、ACME(Certbotなど)で更新を自動化すると手間が省けます。
CSRに役立つOpenSSLコマンド
証明書が届く前と後に、コマンドラインでファイルを確認しましょう。
openssl req -in example.com.csr -noout -text -verifyopenssl req -in example.com.csr -noout -pubkey | openssl sha256
openssl pkey -in example.com.key -pubout | openssl sha256openssl pkcs12 -export -out example.com.pfx -inkey example.com.key -in example.com.crt -certfile ca-bundle.crtAdvertisement
SSL・証明書関連ツール
証明書が発行されたら、次の無料ツールで確認しましょう。