Let’s Encryptで有効なドメインのサーバ証明書を一度取得し、その後DNSからそのドメインを削除し、サーバ証明書だけをローカルで使用するようなイリーガルな方法をとれば、ローカルなサーバ証明書を取得できたことになるかもしれないが。 Let’s Encryptnoの証明書は3ヶ月間のみ有効で、3ヶ月後には再度このサーバをDNSに登録し、直接外部から読み取れる状態にして更新する必要があり、現実的なやり方ではない。

 結局、「数分でできる!mkcertでローカル環境へのSSL証明書設定」の文字に惹かれ「Homebrew」の「mkcert」コマンドを使用することに。
 参考: ローカル環境用SSLサーバ証明書を簡単に発行する(mkcert)

1.Homebrewのインストール

 MACを触ったこともない貧乏人なので全く知らなかったが(←無知な老人のひがみ)、MacOS環境では、デファクトなパッケージマネージャだとのこと。 Linuxでも使用できるそうで、まずは、このHomebrewのインストールから。 結構な時間がかかりLinuxのパッケージが一式入る感じ、ディスクの空き容量が不安になるほど。
 ただ、homebrewのホームページに記載のインストールスクリプトを利用するので、待つのはうんざりだがインストール自体はとても簡単。 なおrootではインストール不可、sudoの必要もない。

$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

brewのインストール完了後、以下のコマンドで、パスを登録

$ echo 'eval $(/home/linuxbrew/.linuxbrew/bin/brew shellenv)' >> /home/tako/.bash_profile
$ eval $(/home/linuxbrew/.linuxbrew/bin/brew shellenv)
$ source ~/.bash_profile
$ source ~/.bashrc

 アンインストールの仕方もFAQに詳しく載っている。 /home/linuxbrew配下に全てのファイルがあるのか、安心してアンインストールできそう。

2.mkcertのインストール

 Homebrewのインストールが終わったので、mkcertのインストールを
 mkcert は簡単なコマンドでローカル環境に認証局を登録し、サーバ証明書の発行を行ってくれるツールだそうでインストールは、
  Homebrewを利用の場合

$ brew install mkcert



  Firefoxを利用する場合

$ brew install nss

3.ローカル認証局の作成

$ mkcert --install
Created a new local CA ?
Sudo password:

と聞いてくるので、パスワードを入れるとローカルの認証局が出来るようだ。
実際に、/home/tako(ユーザのホームディレクトリ)/.local/share/mkcertがCA証明書格納ディレクトリとして新たにできていて、その中に、CA証明書「rootCA.pem」と秘密鍵「rootCA-key.pem」が保管されていた。

4.サーバ証明書の発行

サーバ証明書ファイルと秘密鍵ファイルを作成するには、サーバ名を引数に

$ mkcert test12.local

すると、/home/tako(ユーザのホームディレクトリ)に

test12.local-key.pem
test12.local.pem

の公開鍵と秘密鍵の両方ができているので、これをtest12.localの適当なフォルダへ移動。

5.ブラウザにCA証明書をインストール (初回のみ)

chromeの場合 特にこの作業はしなかったが、問題はなかった。 mkcertで作成したCAは自動的に認証されるような気もするのだが。
Firefoxを利用する場合 以下の作業が必要なようだが、$ brew install nss をすればいらない気も。よく分からない。
1. mkcert –CAROOTコマンドを実行してCA証明書格納ディレクトリを調べる
通常は、/home/tako(ユーザのホームディレクトリ)/.local/share/mkcertに
rootCA-key.pem と rootCA.pemの秘密鍵と公開鍵がある。
2. オプション→プライバシーとセキュリティ→証明書を表示
3. 認証局証明書→インポート
4. 1のパスにあるrootCA.pemを選択

 恥ずかしながら、参考のサイトの真似をしただけなのだが、順当にtest12.localのサーバ証明書が出来、エラーもなくローカル証明書が認証され、なにをやっているのか理解できない自分には、まるで狐につままれたよう。
 ここらあたりの内容を、詳しく書いた説明書(それも日本語で)があれば嬉しいのだが。 自分に理解できるか否かは別にして。