こんにちは、ニキです。
この記事では以下のような疑問を解消します。
- ルート認証局のSSL証明書と秘密鍵を作成するには?
- サーバー用のSSL証明書と秘密鍵を作成するには?
mkcertは自己署名証明書(オレオレ証明書)の作成手続きを簡単にするツールです。
OpenSSLだと以下のように作成まで4アクション必要で、各コマンドはオプションが多く使い勝手がいいとは言えません。
- ルート認証局の秘密鍵と証明書を作成
- ルート認証局の証明書をキーチェーンに登録
- Webサーバーの秘密鍵とCSR(公開鍵含む)を作成
- 認証局としてサーバー証明書を発行
mkcertなら、1と2、3と4の組み合わせの合計2アクションで完了します。
では、実際にmkcertを使ってサーバー証明書と秘密鍵の作成していきます。
ルート認証局のSSL証明書と秘密鍵をmkcertで作成
インストールがまだの場合は、以下のようにmkcert をインストールします。
% brew install mkcert
% brew install nss # Firefox の場合
以下のコマンドで、ルート認証局の証明書と秘密鍵を作成され、証明書がキーチェーンに保存されます。
% mkcert -install
ルート認証局の証明書と秘密鍵の保存先を確認できます。
% mkcert -CAROOT
/Users/<user name>/Library/Application Support/mkcert
以下のように確認できます。
% ls /Users/<user name>/Library/Application\\ Support/mkcert
rootCA-key.pem rootCA.pem
キーチェーンに以下のように保存されています。
サーバー用のSSL証明書と秘密鍵をmkcertで作成
対象のドメインを指定して、サーバー証明書と秘密鍵を作成します。
ここではlocalhost を指定します。
% mkcert localhost
The certificate is at "./localhost.pem" and the key at "./localhost-key.pem" ✅
これ以降に、他のドメイン用のSSL証明書と秘密鍵を作成する場合は、上記のコマンドだけで作成できます。
まとめ
この記事では以下のような疑問を解消できるように、執筆しました。
- ルート認証局のSSL証明書と秘密鍵を作成するには?
- サーバー用のSSL証明書と秘密鍵を作成するには?