ブラウザで任意のSSL証明書がドメイン認証かどうか判別する (DV証明書, OV証明書, EV証明書)

ブラウザで任意のSSL証明書がドメイン認証かどうか判別する方法についてメモ。

確認方法

今回は Google Chrome (98.0.4758.102) で確認。手順としては次の通り。

  1. 朝日カーメンテナンス様HPを開く
  2. URLバー横の南京錠🔓のアイコンをクリック
  3. 「この接続は保護されています >」をクリック
  4. 「証明書は有効です ↗」をクリック
  5. 証明書ダイアログの「詳細」タブをクリック
  6. 「サブジェクト」をクリック

ここで「サブジェクト」の内容が CN = www.example.jp のように CN しか存在しなければドメイン認証(DV証明書)。

逆にドメイン認証ではないパターンとして、例えば IPA(https://www.ipa.go.jp) は

CN = www.ipa.go.jp

# 略

O = Information-technology Promotion Agency, Japan
L = Bunkyo
S = Tokyo
C = JP

と CN 以外のプロパティも表示されます。

DV証明書はドメイン(コモンネーム=CN)しか確認しないことに対して、 IPA は組織の実在確認を行うEV証明書のため。

そのため、 Organization(組織)は Information-technology Promotion Agency, Japan 、Location は Bunkyo といったプロパティが付随しています。

この差により「DV証明書かそうでないか」という判別は付く、という寸法です。

備考

ただしこの方法は「DV証明書」と「それ以外(OV証明書、EV証明書)」を見分けることはできますが、「OV証明書」と「EV証明書」を見分けることはできない模様。

一部のブラウザではEV証明書ならばURLの横に組織名が表示されるのでそこで「OV証明書」と「EV証明書」を見分けることができそうですが、 Chrome では既に組織名を表示しなくなって久しいため、 Chrome で判別することは難しいと思われます。

また、ここまで書いておいて何ですが、手っ取り早く判別するならばWeb上のチェッカーを使用した方が早い気がします。

参考

この記事を書いた人

アルム=バンド

フロントエンド・バックエンド・サーバエンジニア。LAMPやNodeからWP、Gulpを使ってejs,Scss,JSのコーディングまで一通り。たまにRasPiで遊んだり、趣味で開発したり。