概要
ローカルPCに適当なHTTPSサーバーを立ててテストしたいということはよくあると思います。
HTTPSを使うには自己署名のSSL/TLSサーバー証明書 (いわゆるオレオレ証明書)が必要ですが、
いろいろググりながらやったら意外と苦戦したので手順をメモしておきます。
作るもの
-
server.key
: 秘密鍵ファイル -
server.crt
: サーバー証明書ファイル -
server.csr
: 署名リクエストファイル (中間生成物としてのみ使用します)
OpenSSLを使用してlocalhost (127.0.0.1)
に対してサーバー証明書を作成します。
localhost
でアクセスしても127.0.0.1
でアクセスしても怪しい警告が出ないようにします。
OpenSSLのインストール方法などはここでは説明しません。
手順
- 以降の作業はすべて同一のディレクトリで行います。最終的に以下のようなファイル構成になります。
workdir/ ├── san.txt ├── server.crt ├── server.csr └── server.key
- 以下の内容のファイルを作成して
san.txt
として保存します。san.txtsubjectAltName=DNS:localhost,IP:127.0.0.1
- 以下のコマンドを実行します。
openssl genrsa -out server.key openssl req -new -key server.key -out server.csr -subj "/CN=localhost" openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt -extfile san.txt
- 出力されたサーバー証明書(
server.crt
)をWindowsの場合は「信頼されたルート証明書」にインストールします。Unix系はわかりません
参考: https://jp.globalsign.com/support/ssl/config/cert-import-win.html
確認
https://127.0.0.1/
やhttps://localhost/
でアクセスしてみて警告が表示されないか確認します。