Open3
mkcertの使い方について理解する
先にHTTPSの仕組みについて復習する
https とは http 通信をSSL/TLSプロトコルによって暗号化した通信のこと。
SSLを用いた暗号化方式は共通鍵暗号方式と公開鍵暗号方式を組み合わせて使っている。
共通鍵暗号方式と公開鍵暗号方式についてはここでは割愛する
実際のリクエストの流れとしては
- ユーザーがサーバーにリクエストを送る
- サーバーはユーザーに証明書と、サーバーが持っている公開鍵を送る
- ユーザーは受け取った証明書を検証し、問題ない場合は公開鍵を使ってユーザーが持っている共通鍵を暗号化しサーバーに送る
- サーバーはユーザーが送ってきた暗号化済みの共通鍵を、秘密鍵によって復号する
- 両者が持っている共通鍵を使って通信を行う
という流れになっている
こちらのサイトが非常に分かりやすかった
オレオレ証明書について
オレオレ証明書は自分自身で作成したサーバー証明書のこと
オレオレ証明書によってHTTPS通信を行うには
- ルート証明書を証明書リストに追加
- 自身を認証局としてサーバー証明書を発行
が必要となる
mkcert の使い方
mkcert 自体の使い方は非常に簡単
# homebrew でmkcert をinstall
$ brew install mkcert
# 認証局を作成
$ mkcert -install
# localhost に対してサーバー証明書を発行
mkcert localhost
のstepdだけで利用ができる
https://qiita.com/k_kind/items/b87777efa3d29dcc4467が非常に詳しく解説してあった