Open2

Tips: ssl and openssl

ないつぅーないつぅー

自己証明書を追加して開発環境でSSLの警告が出ないようにする。
chromeなどのブラウザの場合、サブジェクトの代替名(SAN)の拡張フィールドがないと警告が表示される。
参考:https://pvision.jp/tech/2023/04/importing-self-signed-certificate-as-root-certificate/
(2024/8/7ではsafariはSANなしでもOK)

大まかな流れは以下

  1. CSRの作成
  2. 自己署名
  3. 開発サーバにhttpsを設定
  4. 証明書を開発PCで信頼

具体手順

SANの追加タイミングは以下の方法がある模様。

  • CSR作成時にSANの拡張フィールド追加
  • 自己署名時にSANの拡張フィールド追加

参考:https://ken-ohwada.hatenadiary.org/entry/2021/02/27/122841

「CSR作成時にSANの拡張フィールド追加」をする場合

拡張フィールドの追加には拡張フィールドの設定ファイルを追加するようなやり方が紹介されていることが多いが、以下記事のように「-addext」オプションで追加するのが開発用の証明書では楽でよかった。

openssl req -new -key web-server.key -out web-server.csr -addext "subjectAltName=DNS:example.com"

引用:https://pvision.jp/tech/2023/04/importing-self-signed-certificate-as-root-certificate/

証明書を作成したら、開発サーバーに秘密鍵と証明書を設定。
開発PCで証明書を信頼するとして設定。
(Macの場合、.crtファイルを実行するだけでキーチェーンに登録。その後キーチェーン内で証明書を「信頼する」に変更することを忘れずに)