ローカル開発環境用のSSL証明書を作成するならmkcertがおすすめ | アントレプログラマー

ローカル開発環境用のSSL証明書を作成するならmkcertがおすすめ

Tech

こんにちは、ニキです。

この記事では以下のような疑問を解消します。

  • ルート認証局のSSL証明書と秘密鍵を作成するには?
  • サーバー用のSSL証明書と秘密鍵を作成するには?

mkcertは自己署名証明書(オレオレ証明書)の作成手続きを簡単にするツールです。

OpenSSLだと以下のように作成まで4アクション必要で、各コマンドはオプションが多く使い勝手がいいとは言えません。

  1. ルート認証局の秘密鍵と証明書を作成
  2. ルート認証局の証明書をキーチェーンに登録
  3. Webサーバーの秘密鍵とCSR(公開鍵含む)を作成
  4. 認証局としてサーバー証明書を発行

mkcertなら、1と2、3と4の組み合わせの合計2アクションで完了します。

では、実際にmkcertを使ってサーバー証明書と秘密鍵の作成していきます。

Takaharu Niki

・Webエンジニア6年目。
・バックエンドを中心に、フロントエンドやDevOps業務も経験。
・現在は、自社サービス企業のテックリードとして従事。

Takaharu Nikiをフォローする

ルート認証局の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証明書と秘密鍵を作成するには?
Takaharu Niki

・Webエンジニア6年目。
・バックエンドを中心に、フロントエンドやDevOps業務も経験。
・現在は、自社サービス企業のテックリードとして従事。

Takaharu Nikiをフォローする
Tech
Takaharu Nikiをフォローする
アントレプログラマー
タイトルとURLをコピーしました