ヘルプ

自己署名証明書の作成:localhostとローカルIP向け

このツールは、ローカルサイトで使う名前から、開発用サーバーにそのまま使える証明書と秘密鍵を作ります。処理はすべてブラウザー内で行われ、アップロードも保存もありません。最後に server.crt と server.key を1つのZIPでダウンロードできます。


自己署名証明書の作成方法:localhost・ドメイン・IP向け

入力した名前はすべてSubject Alternative Name(SAN)の一覧に入ります。最近のブラウザーが確認するのはこの一覧です。設定したり貼り付けたりするものはありません。

鍵ペアはブラウザーのWebCryptoで作られ、証明書もこのページ上で組み立てて署名されます。

オレオレ証明書の作成手順

  1. ドメインとIPアドレスの欄を確認してください。最初は localhost, 127.0.0.1 が入っています。使う名前に置き換えるか、追加してください。例:localhost, 127.0.0.1, 192.168.1.5
  2. 必要なら設定を開き、有効期間(日)やRSA鍵のサイズを変更してください。
  3. 証明書を生成を押してください。短い証明書を生成しています…の表示のあと、証明書の準備ができましたと表示されます。
  4. ZIPをダウンロードを押してください。local-ssl-certificate.zip に server.crt(証明書)と server.key(秘密鍵)が入っています。
  5. お使いのパソコンで信頼するを見ながら server.crt をパソコンの信頼ストアに追加し、2つのファイルでサーバーを設定してください。
  6. 名前や設定を変えたいときは名前や設定を変更を押して、もう一度生成してください。

ドメインとIPの入力例

入力はカンマ、スペース、改行で区切ってください。各項目はDNS名かIPアドレスかが自動で振り分けられます。

1つの証明書に入れられる名前は最大50件です。入力するのはホスト名かアドレスだけにしてください。https:// などのスキームやポート番号を付けた項目は受け付けられず、エラーに無効だった項目が表示されます。ブラウザーのアドレスバーに入れる名前は、証明書にある名前のどれかと一致している必要があります。一致しないと、ブラウザーは警告を出し続けます。

設定:有効期間と鍵のサイズ

有効期間には1〜397日を指定でき、初期値は365日です。範囲外の数値は最も近い上限か下限に直されます。証明書は生成した瞬間から有効で、結果の有効期限に終了日が表示されます。期限が切れたら、新しく生成してください。

RSA鍵のサイズの初期値は2048ビットで、高速でどこでも受け入れられます。より大きな鍵が必要なら4096ビットを選べますが、作成に数秒かかることがあります。

結果には対象(すべての名前)、有効期限、鍵、SHA-256フィンガープリントが表示されます。証明書はX.509バージョン3の自己署名で、自身の鍵でSHA-256 with RSAにより署名されます。コモンネームは最初に入力した項目ですが、ブラウザーが読むのはSANの一覧です。シリアル番号はランダムです。

自己署名証明書を信頼する:Windows・Mac・Linux

信頼ストアに追加するまで、ブラウザーは自己署名証明書に警告を出します。ZIPを展開し、そのフォルダーでターミナルを開いて、お使いのOS向けのコマンドを実行してください。コマンドはお使いのパソコンで信頼するの下にもコピーしやすい形で表示されます。

Firefoxは独自の一覧を持っており、LinuxのChromeも同様です。そちらの「設定」「証明書」「認証局」から server.crt をインポートしてください。開発ツールの中にも独自の一覧を持つものがあります。その場合は、ツール自身の設定で server.crt を指定してください。信頼したあとはブラウザーを再起動してください。

nginxとApacheで使う・鍵の扱い

Webサーバーの証明書の設定には server.crt を、秘密鍵の設定には server.key を指定し、サーバーを再起動してください。nginxでは ssl_certificate と ssl_certificate_key、Apacheでは SSLCertificateFile と SSLCertificateKeyFile です。そのあと、証明書にある名前のどれかで、先頭に https:// を付けてサイトを開いてください。

server.key は他の人に見せないでください。このファイルを持つ人は、あなたのローカルサイトになりすませます。公開リポジトリにコミットしないでください。このツールはローカル開発専用です。自己署名証明書を公開Webサイトで使わないでください。


よくある質問

localhostの自己署名証明書はどうやって作りますか?

「ドメインとIPアドレス」の欄に最初から入っている localhost, 127.0.0.1 のまま「証明書を生成」を押し、続けて「ZIPをダウンロード」を押してください。server.crt と server.key が手に入ります。ローカルのWebサーバーにその2つのファイルを指定し、server.crt をパソコンの信頼ストアに追加すると、ブラウザーの警告が消えます。

IPアドレス向けの証明書も作れますか?

作れます。「ドメインとIPアドレス」の欄に 192.168.1.5 のようにアドレスを入力してください。IPv4もIPv6も使え、[::1] のように角かっこで囲んだ形にも対応しています。各IPは証明書にIPアドレスの項目として書き込まれ、https://192.168.1.5 を開くときにブラウザーが確認するのはこの項目です。入力するのはアドレスだけで、https:// やポート番号は付けないでください。

自己署名証明書のSANはどう設定しますか?

入力した名前は自動でSubject Alternative Nameになります。ドメインはDNS名、IPアドレスはIPアドレスの項目として入るので、設定や貼り付けは不要です。結果の「対象」に、入った名前がすべて表示されます。コモンネームには最初の項目が入りますが、ブラウザーが読むのはSANです。

ワイルドカードの自己署名証明書は作れますか?

作れます。*.example.test のようなワイルドカードを入力すると、DNS名として追加されます。ワイルドカードが一致するのは1階層だけで、*.example.test は app.example.test には使えますが、example.test そのものや a.b.example.test には使えません。必要なら example.test を別に入力してください。

オレオレ証明書の作成にOpenSSLは必要ですか?

必要ありません。鍵ペアはブラウザー標準のWebCryptoで作られ、証明書もこのページ内で組み立てて署名されるため、実行するコマンドもインストールするものもありません。OpenSSLが要るのは、できたファイルをあとで別の形式に変換したい場合だけです。

WindowsやMacで自己署名証明書を信頼するにはどうしますか?

Windowsでは、PowerShellを管理者として開き、ファイルを展開したフォルダーで Import-Certificate -FilePath .\server.crt -CertStoreLocation Cert:\LocalMachine\Root を実行してください。ChromeとEdgeが読む信頼されたルート証明機関のストアに証明書がコピーされます。Macでは、server.crt のあるフォルダーで sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain server.crt を実行してください。

UbuntuとFirefoxで信頼するにはどうしますか?

DebianとUbuntuでは、server.crt を /usr/local/share/ca-certificates/ にコピーして sudo update-ca-certificates を実行してください。curlなどのコマンドラインツールはこれで受け入れます。Firefoxはシステムの信頼ストアを使わないため、設定の「証明書」から「認証局」タブを開き、server.crt をインポートして、Webサイトの識別を信頼するオプションにチェックを入れてください。

PFXファイルやCSR、Let's Encryptの証明書は作れますか?

作れません。このツールが作るのは、PEM形式の自己署名証明書1つ(server.crt と server.key)です。証明書署名要求(CSR)、認証局が署名した証明書や公開用の証明書、別個のルートCAは作りません。PFXが必要な場合は、OpenSSLのpkcs12コマンドでこの2つのファイルから作れます。

おすすめ

無料でツールを続ける支えになります。✨

画像はイメージです。 Amazonのアソシエイトとして、Capsule Toolsは適格販売により収入を得ています。