これを使わずとも、Ubuntu 22.04にはapt(aptitude)からインストール可能でした。
概要
- ローカルDNSで証明書を作りたい
- 或いはローカルホスト(127.0.0.1)をhttps化したい
場合に役立つコマンド、mkcertをインストールします。
インストール方法
aptitude (apt)によるインストール
sudo aptitude install mkcert
ローカルルート証明書を作成
- ルート証明書の作成
mkcert -install
- ローカルのルート証明書作成確認
ls -l ~/.local/share/mkcert/
rootCA-key.pem
→ 秘密鍵rootCA.pem
→ ルート証明書
ホスト名に追記・修正
ファイル /etc/hosts
をルート顕現で、以下のように修正します。
127.0.0.1 agnes-luce
※ Ubuntu系はホスト名に指定したIPがなぜか127.0.1.1
になっています。
証明書作成
- ディレクトリ移動
cd /hoge && pwd
任意のディレクトリに移動します。
- 証明書作成
mkcert -key-file ドメイン名.key.$(date +%Y%m) -cert-file ドメイン名.crt.$(date +%Y%m) ドメイン名
- 作成例
mkcert -key-file agnes-luce.key.$(date +%Y%m) -cert-file agnes-luce.crt.$(date +%Y%m) agnes-luce
Created a new certificate valid for the following names 📜
- "agnes-luce"
The certificate is at "agnes-luce.crt.202404" and the key at "agnes-luce.key.202404" ✅
It will expire on 14 July 2026 🗓
証明書の整合性を確認
- 証明書から公開鍵のハッシュ値を取り出す
openssl x509 -pubkey -in 証明書ファイル -noout | openssl md5
- 秘密鍵から公開鍵のハッシュ値を取り出す
openssl pkey -pubout -in 秘密鍵ファイル | openssl md5
それぞれのハッシュ値が同じであることを確認します。
こうしてできた一式は2年半有効です。