証明書署名要求ジェネレーター

SSL 証明書のCSRを生成するための最新でよくテストされたツールです。

CSR ジェネレーター
下のフォームに入力し、SSL 証明書の CSR を生成します。

この証明書の意図した使用方法の選択

保護したい完全修飾ドメイン名です

証明書署名に使用されるハッシュアルゴリズム

証明書に署名するために使用されるアルゴリズム

ビットのRSAキーの長さ。より長いキーはより多くのセキュリティを提供しますが、遅くなる可能性があります。

証明書管理の自動化

SSL 証明書の管理が必要ですか?

証明書管理プラットフォームで、AWS、Azure、GCP などのクラウドにおける SSL 証明書の申請、デプロイ、更新を自動化できます。HTTPS の管理が簡単になります。

ツールの紹介

証明書署名要求(CSR)は、SSL/TLS 証明書を取得する最初の手順です。Web サイトで HTTPS を設定するには、まず CSR を生成し、署名のために認証局(CA)へ提出します。

オンラインの CSR 生成ツールは、この作業を簡単かつ安全にします。

  • すべてローカルで処理: CSR の生成はブラウザ内で行われ、秘密鍵が端末の外へ出ることはありません
  • 複数のアルゴリズムに対応: RSA(2048/3072/4096 ビット)と ECDSA(P-256/P-384/P-521)の署名アルゴリズムに対応します
  • 柔軟な設定: 複数のドメイン(SAN)やワイルドカードドメインを追加できます
  • インストール不要: OpenSSL などのコマンドラインツールを入れず、ブラウザで CSR を生成できます

セキュリティに関する注意

この CSR 生成ツールでは、秘密鍵と CSR のどちらもブラウザ内で生成され、サーバーへアップロードされません。オフラインでも使えます。

CSR が必要になるとき

次の場合に CSR を生成します。

  1. 新しい SSL 証明書を購入する: ドメインに初めて SSL/TLS 証明書を申請するとき
  2. 期限が近い証明書を更新する: 既存の証明書の期限が近く、作り直す必要があるとき
  3. ドメイン情報を変更する: 証明書のドメイン名や組織情報を変えるとき
  4. 鍵の漏えいが疑われる: 秘密鍵が漏れた可能性があるときは、すぐに新しい鍵ペアと CSR を生成します

CSR のハッシュアルゴリズムの選び方

ハッシュアルゴリズムは、証明書のデジタル署名を作るために使います。適切なアルゴリズムを選ぶことは、証明書の安全性に直結します。この CSR 生成ツールは、主要な 3 つのハッシュアルゴリズムに対応しています。

SHA-256 は現在もっとも広く使われ、安全性と性能のバランスが取れています。

  • 安全性: 256 ビットの出力で、既知の攻撃に対して十分な強度があります
  • 互換性: 近年のブラウザとオペレーティングシステムが対応しています
  • 性能: 計算が速く、ほとんどの用途に適します
  • 推奨: 99% の場合はこれを選んでください

SHA-384

SHA-384 はより高い安全性を持ちますが、計算コストが少し増えます。

  • 安全性: 384 ビットの出力で、余裕のある安全性があります
  • 用途: 金融や医療など、セキュリティ要件が特に高い分野
  • 互換性: 近年のシステムが対応しています

SHA-512

SHA-512 は、この中でもっとも高い安全性を持ちます。

  • 安全性: 512 ビットの出力で、もっとも強い保証になります
  • 性能への影響: 計算と検証が相対的に遅くなります
  • 用途: 特別なセキュリティ要件がある、ごく限られた場面

推奨

ほとんどの利用者には SHA-256 を推奨します。特別なコンプライアンス要件がなければ、SHA-256 で十分な安全性があります。

CSR の署名アルゴリズムの選び方

オンラインで CSR を生成するときは、署名アルゴリズムを選びます。主な選択肢は RSA と ECDSA の 2 つです。

RSA アルゴリズム

RSA は、もっとも伝統的で広く使われている署名アルゴリズムです。

利点:

  • 広い互換性: 古いシステムを含め、ほぼすべての端末とブラウザが対応しています
  • 成熟して安定: 数十年の実用で確かめられています
  • CA の対応: すべての認証局が対応しています

欠点:

  • 鍵が大きい: 安全性のために、通常は 2048 ビットまたは 4096 ビットの鍵が必要です
  • 性能の負荷: 暗号化と復号の処理が相対的に遅くなります
  • 証明書が大きい: 生成される証明書ファイルが大きくなります

推奨する鍵長:

  • 2048 ビット: 標準的な選択です。安全性と性能のバランスがよく、ほとんどの用途に適します
  • 4096 ビット: 安全性は高くなりますが、性能への影響が見えます。高いセキュリティ要件向けです

ECDSA アルゴリズム

ECDSA(Elliptic Curve Digital Signature Algorithm)は、より新しい選択肢です。

利点:

  • 鍵が小さい: 256 ビットの ECDSA 鍵は、3072 ビットの RSA 鍵と同等の安全性を持ちます
  • 高い性能: 署名の生成と検証が速くなります
  • 帯域に優しい: 証明書が小さく、転送が速くなります
  • モバイル向き: リソースの少ない端末に適します

欠点:

  • 互換性: 一部の古いシステムは対応していないことがあります(例: Windows XP、Android 4.x 以前)
  • CA の対応: 対応していない認証局や、追加料金がかかる認証局があります

推奨する曲線:

  • P-256(secp256r1): 標準的な選択で、広く対応されています
  • P-384(secp384r1): より高い安全性です

どれを選ぶか

推奨: RSA 2048

古い端末を使う人を含めてすべての利用者をサポートする必要があるなら、RSA 2048 ビットがもっとも無難です。オンラインの CSR 生成ツールで、RSA の証明書署名要求を簡単に作れます。

推奨: ECDSA P-256

モバイルアプリは、性能と帯域の影響を受けやすい傾向があります。ECDSA はサイズが小さく性能が高いため、適しています。近年のモバイル端末は ECDSA に対応しています。

推奨: RSA 2048 以上

企業環境では、さまざまな OS のバージョンをサポートする必要があることがあります。その場合、RSA の互換性が有利です。特別なセキュリティ要件があれば RSA 4096 を選びます。

推奨: ECDSA P-256

API サービスは近年のクライアントから呼ばれることが多いため、ECDSA の性能を活かし、TLS ハンドシェイクの時間を短縮できます。

OpenSSL で CSR を生成する

便利なオンラインの CSR 生成ツールを提供していますが、コマンドラインでの生成方法も知っておくと役立ちます。OpenSSL は、もっとも一般的なコマンドラインツールです。

RSA の証明書署名要求

# Generate 2048-bit RSA private key and CSR
openssl req -new -newkey rsa:2048 -nodes \
  -keyout domain.key \
  -out domain.csr

# Generate 4096-bit RSA private key and CSR
openssl req -new -newkey rsa:4096 -nodes \
  -keyout domain.key \
  -out domain.csr

実行後、次の情報の入力を求められます。

  • Country Name(国コード。例: US)
  • State or Province(州または都道府県)
  • Locality Name(市区町村)
  • Organization Name(組織名)
  • Organizational Unit(部門)
  • Common Name(ドメイン。例: autossl.dev)
  • Email Address(任意)

まず設定ファイル csr.conf を作ります。

# Request configuration section
[req]
default_bits = 2048              # RSA key size in bits
prompt = no                      # Disable interactive prompts
default_md = sha256              # Hash algorithm for signature
distinguished_name = dn          # Reference to DN section below
req_extensions = req_ext         # Reference to extensions section

# Distinguished Name (certificate subject information)
[dn]
C = US                           # Country code
ST = California                  # State or Province
L = San Francisco                # Locality (city)
O = Example Company              # Organization name
CN = autossl.dev                 # Common Name (primary domain)

# Request extensions (additional certificate attributes)
[req_ext]
subjectAltName = @alt_names      # Reference to alternative names section

# Subject Alternative Names (additional domains for this certificate)
[alt_names]
DNS.1 = autossl.dev              # Primary domain
DNS.2 = www.autossl.dev          # Subdomain with www
DNS.3 = *.autossl.dev            # Wildcard for all subdomains

そのあと CSR を生成します。

openssl req -new -nodes \
  -newkey rsa:2048 \
  -keyout domain.key \
  -out domain.csr \
  -config csr.conf
openssl req -new -newkey rsa:2048 -nodes \
  -keyout domain.key -out domain.csr \
  -subj "/C=US/ST=California/L=San Francisco/O=Example Company/CN=autossl.dev"

注: この方法では SAN(サブジェクト代替名)を追加できません。

ECDSA の証明書署名要求

# Generate ECDSA private key using P-256 curve
openssl ecparam -genkey -name prime256v1 -out domain.key

# Using P-384 curve
openssl ecparam -genkey -name secp384r1 -out domain.key

# Generate CSR based on private key
openssl req -new -key domain.key -out domain.csr

生成した CSR を確認する

CSR を生成したあと、次のコマンドで内容を確認します。

# View detailed CSR information
openssl req -text -noout -in domain.csr

# Verify CSR signature
openssl req -verify -in domain.csr

# Extract domain information from CSR
openssl req -noout -subject -in domain.csr

秘密鍵の保護

生成された秘密鍵ファイル(domain.key など)は安全に保管し、他人に渡さないでください。ファイル権限を厳しくすることを推奨します。 chmod 600 domain.key

よくある質問

CSR と秘密鍵の関係

CSR を生成すると、実際には鍵ペア、つまり秘密鍵と公開鍵が作られます。CSR には公開鍵と身元情報が含まれ、秘密鍵は秘匿する必要があります。CA は CSR の情報をもとに証明書を発行し、その証明書は対応する秘密鍵と組み合わせてのみ使えます。

同じ CSR を再利用できるか

技術的には可能ですが、推奨しません。新しい証明書を申請するたびに、新しい鍵ペアと CSR を生成するのが望ましいやり方です。証明書の期限が切れたときや、CA を変えるなど再発行が必要なときは、新しい証明書署名要求を生成してください。

CSR を提出したあとに残すもの

秘密鍵ファイルは必ず保管してください。証明書が発行されたあと、SSL/TLS を設定するには秘密鍵が必要です。秘密鍵を失うと、証明書があっても使えず、再申請が必要になります。

オンラインツールとコマンドラインの違い

機能上の違いはありません。この CSR 生成ツールは Web Crypto API でブラウザ内に鍵を作り、OpenSSL の結果と互換性があります。オンラインツールの利点は、ソフトウェアのインストールやコマンドの暗記が不要で、直感的に使えることです。

ベストプラクティス

  1. 鍵長の選択: RSA は少なくとも 2048 ビット、ECDSA は P-256 以上を使います
  2. 証明書の定期的な更新: 期限切れを待たず、30 日前の更新を推奨します
  3. SHA-256 を使う: 特別な要件がなければ、SHA-256 が最適な選択です
  4. SAN を追加する: autossl.dev と www.autossl.dev のように複数のドメインがある場合は、CSR の生成時にすべてのドメインを追加します
  5. 秘密鍵を保護する: 厳しいファイル権限を使い、暗号化して保管することも検討します
  6. 秘密鍵をバックアップする: 安全な場所にバックアップし、バックアップ自体も適切に保護します

CSR 生成ツールを使い、Web サイト向けの証明書署名要求をすばやく、安全に生成してください。