自己署名証明書・CSR ジェネレーター
自己署名の X.509 TLS 証明書、CA 証明書、CSR を、SAN、RSA 2048〜4096 の鍵、任意の有効期間で作成。出力は PEM で、秘密鍵が手元から出ることはありません。
通常はホスト名(例: localhost、www.example.com)。
追加の DNS 名と IP アドレス(カンマまたは改行区切り)。ブラウザーは CN ではなくこちらを確認します。
RSA 鍵はブラウザーの Web Crypto で作成され、端末の外に出ることはありません。
SSL 証明書ジェネレーターとは?
OpenSSL のコマンドラインを使わずに、TLS に必要なファイルを生成します。ローカル開発や社内サービス向けの 自己署名 TLS 証明書、自前の証明書に署名するための 自己署名 CA 証明書、認証局に送る 証明書署名要求(CSR) を作れます。証明書または CSR と、PEM 形式の RSA 秘密鍵、SHA-256 フィンガープリントが得られます。
SSL 証明書ジェネレーターの使い方
- 作成するもの を選びます。
- コモンネーム(CN) と サブジェクト代替名(SAN)(DNS 名と IP)、必要なら組織と所在地の項目を入力します。
- 鍵長 と、証明書の場合は 有効期間(日) を選びます。
- 生成 をクリックし、証明書(
.crt)または CSR(.csr)と、秘密鍵(.key)をダウンロードします。
例
Self-signed TLS certificate, CN localhost, SANs 127.0.0.1 and ::1, RSA 2048, 365 days
-----BEGIN CERTIFICATE----- … -----END CERTIFICATE----- Subject: CN=localhost SAN: DNS:localhost, IP:127.0.0.1, IP:::1
SSL 証明書ジェネレーターを使うべき場面
localhost、開発用コンテナ、イントラネットのサービス、IoT のプロトタイプ、TLS 設定のテストに自己署名証明書を使います。証明書(または自分の CA)を信頼するまで、ブラウザは警告を表示します。公開 Web サイトには Let's Encrypt などの認証局を使い、ここで CSR を作るか、サーバーや ACME クライアントに生成させてください。
SSL 証明書ジェネレーターの仕組み
RSA 鍵ペアはブラウザの Web Crypto API(RSASSA-PKCS1-v1_5、公開指数 65537)で生成され、node-forge にインポートされます。証明書では、forge が、ランダムな 128 ビットの正のシリアル番号、1 分前から選択した日数の有効期間、同一のサブジェクトと発行者(自己署名)、拡張(basicConstraints(CA の true/false、critical)、keyUsage(サーバーは digitalSignature + keyEncipherment、CA は keyCertSign + cRLSign)、extendedKeyUsage の serverAuth/clientAuth、subjectKeyIdentifier、subjectAltName)を持つ X.509 v3 証明書を構築します。CN がホスト名や IP の場合は、自動的に SAN に追加されます。署名は SHA-256 です。CSR は、extensionRequest 属性に SAN を載せた PKCS#10 リクエストです。鍵は PKCS#8 PEM としてエクスポートされます。
一般的な使用例
- localhost や開発サーバーで HTTPS を有効にする
- 社内ネットワークや検証環境用のプライベート CA を作る
- 商用証明書用の CSR を生成する
- Nginx、Apache、ロードバランサーで TLS 設定をテストする
セキュリティ注意事項
秘密鍵を持つ人は誰でも、あなたのサーバーになりすませます。.key ファイルは非公開にし、Git にコミットせず、開発用の鍵を本番で再利用しないでください。
よくある質問
ブラウザが証明書を信頼できないと表示するのはなぜですか?
自己署名証明書は、システムが信頼する認証局によって発行されたものではないためです。自分のマシンで警告を消すには、それ(または署名した CA)をオペレーティングシステムやブラウザの信頼ストアにインポートしてください。
サブジェクト代替名が必要なのはなぜですか?
最近のブラウザはコモンネームを無視し、ホスト名を SAN のリストとだけ照合するため、使うすべてのホスト名と IP をそこに記載する必要があります。
秘密鍵は安全ですか?
ブラウザ内で生成され、どこにも送信されません。ダウンロードして、権限を制限して保管し、決して共有しないでください。
どの鍵長を選べばよいですか?
RSA 2048 が一般的な最小値で、広く互換性があります。3072 や 4096 は、ハンドシェイクが遅くなる代わりに、より余裕があります。