LoginSignup
23
30

More than 3 years have passed since last update.

IPアドレスでHTTPSアクセスするための証明書の作り方

Last updated at Posted at 2019-09-19

TL;DR

IPアドレス直打ち(e.g. https://192.168.1.1/ ) でアクセスするための証明書を作るときには、
下記にIPアドレスを設定しよう。

  • CN (Common Name)
  • SAN (Subject Alternative Name) DNS
  • SAN IP

はじめに

IPアドレス直打ちでアクセスする、クローズドなウェブシステム構築時、
証明書検証エラーが発生しないサーバ証明書の作り方に四苦八苦したので、メモ。
(みんなこんなの常識なのかな・・・)

Internet Explorer のIPアドレスアクセス時の証明書検証手続き

  • SAN が設定されていない場合
    • CN がIPアドレスと一致しているかを検証、不一致ならエラー
  • SAN が設定されている場合
    • SAN DNS がIPアドレスと一致しているかを検証、不一致ならエラー
      • IPではない!!

Google Chrome のIPアドレスアクセス時の証明書検証手続き

  • SAN IP が IPアドレスと一致しているかを検証、不一致ならエラー

まとめ

  • Chromeが SAN をチェックし、CN を無視するのは有名だが、IE も(設定されていれば) SAN をチェックし、 CN を無視する。
  • ただし、IEはIPアドレスでアクセスしていようが DNS 名で検証し、IP 名は無視する。
  • Chrome はアクセスしているのがIPアドレスかドメインかを判別し、IP名 または DNS名 の適切な方で検証する。
  • Firefox 等、他のブラウザは未調査。

というわけで

証明書には下記を設定しよう

  • CN
    • 互換性のために一応。
  • SAN DNS
    • IE に見てもらう用
  • SAN IP
    • Chrome に見てもらう用

感想

  • Chromeはエラー無しで通すのにIEで検証エラーとなる場面に初めて出くわした。
  • ていうかブラウザ間の証明書検証手順を統一してくれ!
23
30
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
23
30