SSL証明書ジェネレーター
識別情報
証明書
秘密鍵(厳重に保管)
自己署名証明書は既定でブラウザーに信頼されません。ローカル開発、テスト、またはプライベートネットワークでのみ使用してください。
ローカル開発や内部テスト用の自己署名証明書を、ブラウザ内で直接生成します。RSA鍵長(2048、3072、4096ビット)、Common Name、Subject Alternative Names、有効期間、組織の基本情報を選べます。証明書とその秘密鍵はブラウザ内で作成され、当社のサーバーには一切送信されません。どちらもNginxやApache用にすぐ使えるPEMファイルとしてダウンロードできます。
証明書生成の仕組み
-
1
RSA鍵長を選ぶ
ほとんどのテストには2048ビットで十分です。3072や4096は速度を犠牲に鍵を大きくします。
-
2
サブジェクトとSANを入力する
Common Nameに加え、証明書が対象とすべきホスト名やIPをすべて入力します(最新のブラウザはCNを無視しSANを使用します)。
-
3
ブラウザ内で生成する
自己署名証明書が作成され、対応する秘密鍵で署名されます。すべてブラウザ内でローカルに行われます。
-
4
出力をダウンロードする
PEMエンコードの証明書(`cert.pem`)とPEM形式の秘密鍵(`key.pem`)。インストールの準備が整っています。
すべてはブラウザ内で行われます
このジェネレーターは完全にブラウザ内で動作します。RSA鍵ペアはブラウザに組み込まれたWeb Crypto APIでローカルに作成され、証明書はお使いのデバイス上で署名されます。秘密鍵も証明書も当社のサーバーにアップロードされることはありません。とはいえ秘密鍵は秘密として扱ってください。所持する者は誰でもその証明書になりすませます。
自己署名とは何か
あなたが発行者であると同時にサブジェクトでもあります。証明書は自身の秘密鍵で署名されるため、公的な認証局(CA)がその正当性を保証しません。だからブラウザは警告を表示します。テスト、ローカル開発(localhost、dev.local)、および信頼させたいクライアントに証明書を配布できる内部サーバーには適しています。
公開インターネットが信頼する証明書が必要な場合、このツールは適切な手段ではありません。CAが署名した証明書(たとえばLet’s Encryptや有料CA)が必要で、それには証明書署名要求(CSR)とドメイン検証が必要ですが、このブラウザ用ツールはそれらを行いません。
証明書に含まれる内容
| フィールド | 備考 |
|---|---|
| サブジェクト (CN, O, C) | Common Name、組織、国 |
| Subject Alternative Names | 対象とする各ドメインまたはIP(重要!) |
| 公開鍵 | RSA。生成した秘密鍵から導出される |
| 発行者 | 自己署名なのでサブジェクトと同じ |
| 有効期間 | Not Before / Not After(指定した有効日数) |
| Key Usage | digitalSignature、keyEncipherment |
| Extended Key Usage | serverAuth、clientAuth |
| Basic Constraints | CA:FALSE(CAではないリーフ証明書) |
出力ファイル
key.pem、秘密鍵(保護してください、パーミッション0600)cert.pem、自己署名証明書(公開・配布可)
Nginxの場合
server {
listen 443 ssl;
server_name example.com;
ssl_certificate /etc/ssl/certs/cert.pem;
ssl_certificate_key /etc/ssl/private/key.pem;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
}
Apache 2.4以降の場合
<VirtualHost *:443>
ServerName example.com
SSLEngine on
SSLCertificateFile /etc/ssl/certs/cert.pem
SSLCertificateKeyFile /etc/ssl/private/key.pem
</VirtualHost>
自分のマシンで証明書を信頼させる
自分が管理するマシンでブラウザの警告を消すには、cert.pemをそのシステムまたはブラウザの信頼ストアにインポートします。これは自分で生成した証明書に限り、自分が所有するデバイスでのみ行ってください。mkcertのようなツールは複数サービス向けのローカルCAを自動化します。このジェネレーターは一度に1つの自己署名証明書を生成します。
自己署名が適さない用途
- 公開ウェブサイト。 ユーザーは警告を目にし、多くが離脱します。
- サードパーティAPIとの連携。 ほとんどのクライアントは未知の発行者を拒否します。
- 本番環境。 絶対に不可。公開インターネット上のものにはLet’s Encrypt(無料)か有料CAを使ってください。
よくある質問
いいえ。鍵ペアと証明書はブラウザ内で生成され、お使いのデバイスに留まります。何もアップロードされません。それでもダウンロードしたkey.pemは非公開に保ってください。所持する者は誰でもその証明書になりすませます。
第三者が接続するなら、いいえ。ブラウザは目立つ警告を表示します。無料(Let’s Encrypt、ZeroSSL)または有料のCAが署名した証明書を使ってください。自己署名は、両端を自分で管理する内部ネットワークでのマシン間通信には適しています。
以前はCNに主要ドメインを入れていました。最新のブラウザはホスト検証でCNを無視し、SANのみを使用します。常にすべてのホスト名をSANに入れてください。CNは読みやすさのための識別として主要ドメインを設定するだけにします。
はい、SANに*.example.comを入れてください。サブドメインの1階層を対象とします。複数階層には、複数のワイルドカード(*.example.comと*.dev.example.com)を追加します。
関連ツール
GweiからEtherへの変換ツール
Gwei単位の金額をEther(ETH)に最大18桁の小数で変換します。ガス料金の推定や取引データの読み取りに役立ちます。
JWTジェネレーター
カスタムのヘッダー、ペイロードのクレーム、HMACまたはRSA署名、有効期限、オーディエンス制限を備えた、署名済みJWTをテスト用に生成します。
チェックサム検証
任意のファイルやテキストの MD5、SHA-1、SHA-256、SHA-384、SHA-512、CRC-32 チェックサムを計算し、公開者が掲載している値と比較して一致・不一致を明確に判定します。
MD5ジェネレーター
任意のテキストまたはファイルからMD5ハッシュを生成します。128ビットの出力を16進数で表示し、すべてブラウザー内で計算します。
AES暗号化 / 復号
OpenSSLのAES暗号方式で低リスクのテキストを暗号化・復号します。パスフレーズはSHA-256でハッシュされ、Base64出力はIVと暗号文です。
パスフレーズジェネレーター
ランダムな一般的な単語から覚えやすいパスフレーズを生成します。単語数、区切り文字、大文字化、末尾に付ける数字を調整できます。
このツールは他の言語でも利用できます
- SSL-Zertifikat-Generator [DE]
- Gerador de certificado SSL [PT]
- Trình tạo chứng chỉ SSL [VI]
- SSL-certifikatgenerator [SV]
- เครื่องมือสร้างใบรับรอง SSL [TH]
- Generator Sertifikat SSL [ID]
- SSL 인증서 생성기 [KO]
- Generador de certificados SSL [ES]
- مولّد شهادات SSL [AR]
- Générateur de certificat SSL [FR]
- SSL-certificaatgenerator [NL]
- Generator certyfikatów SSL [PL]
- Generatore di certificati SSL [IT]
- Генератор SSL-сертификатов [RU]
- SSL Sertifikası Oluşturucu [TR]
- SSL 证书生成器 [ZH]
- SSL Certificate Generator [EN]