LoginSignup
3
6

localhost (127.0.0.1)の自己署名証明書を手っ取り早く作りたい

Last updated at Posted at 2023-08-18

概要

ローカルPCに適当なHTTPSサーバーを立ててテストしたいということはよくあると思います。
HTTPSを使うには自己署名のSSL/TLSサーバー証明書 (いわゆるオレオレ証明書)が必要ですが、
いろいろググりながらやったら意外と苦戦したので手順をメモしておきます。

作るもの

  • server.key : 秘密鍵ファイル
  • server.crt : サーバー証明書ファイル
  • server.csr : 署名リクエストファイル (中間生成物としてのみ使用します)

OpenSSLを使用してlocalhost (127.0.0.1)に対してサーバー証明書を作成します。
localhostでアクセスしても127.0.0.1でアクセスしても怪しい警告が出ないようにします。
OpenSSLのインストール方法などはここでは説明しません。

手順

  1. 以降の作業はすべて同一のディレクトリで行います。最終的に以下のようなファイル構成になります。
    workdir/
    ├── san.txt
    ├── server.crt
    ├── server.csr
    └── server.key
    
  2. 以下の内容のファイルを作成してsan.txtとして保存します。
    san.txt
    subjectAltName=DNS:localhost,IP:127.0.0.1
    
  3. 以下のコマンドを実行します。
    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
    
  4. 出力されたサーバー証明書(server.crt)をWindowsの場合は「信頼されたルート証明書」にインストールします。Unix系はわかりません:v:
    参考: https://jp.globalsign.com/support/ssl/config/cert-import-win.html

確認

https://127.0.0.1/https://localhost/でアクセスしてみて警告が表示されないか確認します。

3
6
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
3
6