CSR ファイル形式とは?
.csr ファイルは、証明書署名要求の手続きの一部として使用されます。サーバー管理者が認証局(CA)から SSL/TLS 証明書を取得する必要がある場合、まず .csr ファイルを生成し、署名を受けるためにそれを CA に提出します。
.csr ファイルにはどのようなデータが含まれていますか?
.csr ファイルには、申請者の識別情報とともに以下の内容が保存されます:
- 国コード
- 組織名、住所、所在地
- ドメイン(Common Name)およびメールアドレス
- 公開鍵
データは PEM 形式 でエンコードされています。これは、PKCS#10 標準(RFC 2986)に従い、-----BEGIN CERTIFICATE REQUEST----- と -----END CERTIFICATE REQUEST----- ヘッダーの間に Base64 テキストがラップされたものです。内容は暗号化されていません。代わりに、キーペアの所有を証明するために、申請者の秘密鍵でデジタル署名されています。
.csr ファイルは何に使用されますか?
.csr ファイルは、公開鍵と秘密鍵のペアを使用して生成されます。セキュリティ上の理由から、秘密鍵は少なくとも 2048 ビット以上の長さである必要があります。また、秘密鍵を紛失したり破壊したりした場合、復元する方法はないため、安全かつ確実に保管することが重要です。秘密鍵がなければ、発行された証明書を使用することはできません。
生成された .csr ファイルは、Web サーバーの認証、S/MIME によるメールの保護、その他の PKI 用途の 署名済み証明書 を取得するために認証局に提出されます。CA が .crt または .cer ファイルを発行すると、.csr 自体はそれ以上必要ありません。Certbot (Let's Encrypt) などの最新の ACME クライアントは、.csr ファイルの生成と提出を自動的に行うため、多くの管理者は .csr を手動で扱うことはありません。.csr ファイルは、OpenSSL (openssl req -text -in file.csr) またはオンラインの CSR デコーダーツールを使用して検査できます。
セキュリティと安全性
リスク: LOWCSR は共有しても安全です。設計上、認証局に送信されるものであり、公開情報と公開鍵のみが含まれています。秘密の情報は含まれていません。本当の注意点はその逆のミスです。CSR と一緒に生成された秘密の .key ファイルを、オンラインツールに共有、アップロード、または貼り付けたりしないでください。それは証明書を保護するための「秘密」そのものです。また、CSR は少なくとも RSA 2048 ビット(または ECDSA)の鍵で生成し、サードパーティの Web サイトにキーペアを作成させるのではなく、OpenSSL やサーバーパネルを使用してローカルで生成することをお勧めします(一部の「無料 CSR 生成」サイトはサーバー上で鍵を作成するため、セキュリティが損なわれます)。
形式の詳細
概要- Fast SMS Set SMS Relay 設定 - あまり知られていない SMS リレー設定ファイルが .csr を使用します(このサイトのデータベースに記録されている名称)。証明書とは無関係であり、主要な意味ではありません。
CSR ファイルを開くプログラム
openssl req -in request.csr -noout -text -verify。生成:openssl req -new -newkey rsa:2048 -keyout private.key -out request.csr。汎用的なツールです。 openssl req -in request.csr -noout -text で検査、または新しい CSR とキーペアを生成します。 openssl req -in request.csr -noout -text -verify。生成:openssl req -new -newkey rsa:2048 -keyout private.key -out request.csr。汎用的なツールです。 技術的詳細
詳細仕様| MIME タイプ | application/pkcs10 (または application/x-pem-file, application/pkcs10+pem) |
| ファイルのエンコーディング | ほとんどの場合 Base64 PEM テキスト (ASCII)。バイナリの DER (ASN.1) は稀です |
| PEM ヘッダー | -----BEGIN CERTIFICATE REQUEST----- … -----END CERTIFICATE REQUEST----- (古いツールでは -----BEGIN NEW CERTIFICATE REQUEST----- を使用) |
| バイナリマジックバイト | DER バリアントは ASN.1 SEQUENCE タグ 0x30 0x82 で始まります。PEM バリアントにはバイナリマジックバイトはありません |
| 内部構造 | ASN.1 DER CertificationRequest: 主体者 DN (CN, O, OU, L, ST, C)、主体者公開鍵情報、オプション属性 (SANs)、および自己署名 |
| 自己署名アルゴリズム | 通常は sha256WithRSAEncryption または ecdsa-with-SHA256。対応する秘密鍵の所有を証明します |
| 鍵長 (RSA) | 最小 2048 ビット。有効期間の長い証明書には 4096 ビットを推奨 |
| 暗号化 | なし - CSR は公開鍵のみを運び、署名されていますが暗号化はされていません |
| 典型的なファイルサイズ | 1 KB - 2 KB (単一の Base64 ブロック) |
| 主体者 DN フィールド | CN (共通名), O (組織), OU (組織単位), L (市区町村), ST (都道府県), C (2文字の国コード) |
| サブジェクト代替名 (SANs) | オプションの拡張機能として埋め込まれます。CA が CN のみに依存しなくなったため、マルチドメイン TLS 証明書には必須です |
| ライフサイクル | 使い捨て。CA に一度提出され、署名済み証明書が発行された後は破棄されます |
| 関連する拡張子 | .crt / .cer (発行済み証明書), .pem (同じ PEM エンコード), .key (秘密鍵ペア), .p10 (PKCS#10 の代替拡張子) |
| プラットフォームのサポート | クロスプラットフォーム:Windows (IIS, OpenSSL), macOS (キーチェーンアクセス, OpenSSL), Linux (OpenSSL, Certbot), その他 TLS/PKI 対応システム |
| リリース日 | PKCS#10 published by RSA Security in the 1990s; standardized as RFC 2986 (2000) |
| 最新バージョン | PKCS#10 v1.7 (RFC 2986, 2000) |
| オープンスタンダード | はい · ロイヤリティフリー |
| 仕様書 | datatracker.ietf.org |
CSR の変換
コミュニティ Q&A
ユーザーからの質問まだ質問はありません。CSR ファイルについて最初の質問をしてみましょう。
よくある質問
.csr ファイルとは何ですか?
.csr ファイルを開いたり読み取ったりするにはどうすればよいですか?
openssl req -in request.csr -noout -text を実行するか、オンラインの CSR デコーダーに貼り付けてください。提出する場合は、BEGIN/END 行を含むブロック全体をコピーしてください。CSR と証明書 (.crt) の違いは何ですか?
CSR を生成するにはどうすればよいですか?
openssl req -new -newkey rsa:2048 -nodes -keyout private.key -out request.csr(ドメインと組織の入力を求められます)。Windows の IIS では «証明書の要求の作成» を使用し、macOS ではキーチェーンアクセスの «証明書アシスタント» を使用します。CSR を共有しても安全ですか?
.key ファイルは絶対に共有しないでください。