0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

mkcertの使い方メモ

Posted at

やりたいこと

ローカルにhttpsサーバーを立てて開発したい

解決方法

mkcertを使えばTLS検証をパスするようにできます
https://github.com/FiloSottile/mkcert

httpsで接続するとOSまたはブラウザの信頼ストアに証明書が保管されて、証明書の有効期間まではそれが使われます。mkcertは、ローカルの信頼ストアにルート証明書~サーバー証明書までを一式保存して、ローカル環境で正規の検証が通るようにする仕組みです。信頼ストアはOSまたはブラウザにありますので、開発者自身の環境のみTLS検証を通るようになります。mkcertの証明書は期限が10年あるので、期限切れを意識せずに使えるようになっています

自己署名証明書などの場合、TLS検証が通らない場合に応答を拒否するシステムもありますので、そうしたシステムの開発を行う際には同様の仕組みが必須になると思います

使い方

インストールする

chocolateyでインストールできます

powershell
choco install mkcert

ローカルCAを作成する

ルートCAの役割を担うmkcertのローカルCAを作成します
新しくサーバー証明書を作るとき、ここで作ったローカルCAがルートCAとして利用されます

powershell
mkcert -install

サーバー証明書を発行する

URLを指定してサーバー証明書を発行します

作成したサーバー証明書の署名をmkcertのルート証明書で検証できるので
正規のTLS検証が通るようになります

localhostの場合

localhostの場合
mkcert localhost 127.0.0.1 ::1
作成される鍵
localhost.com-key.pem
localhost.com.pem

example.comの場合

hostsでリダイレクトするようにしておいて、example.comなどのURLについてのサーバー証明書を発行することも出来ます。WordPressのように固定URLで動くようなシステムの場合はこの方法が必要になります

example.comの場合
mkcert example.com
C:\Windows\System32\drivers\etc\hosts
127.0.0.1 example.com
作成される鍵
example.com-key.pem
example.com.pem
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?