SSL・TLS・証明書

ホスト名検証一致した根拠まで確認

SAN一覧か1枚のPEM証明書を入力し、接続先のホスト名またはIPを1行ずつ指定します。

ホスト名検証

SAN一覧またはPEM証明書

対象ホスト名とIPアドレス

名前のカバー範囲

入力はこのブラウザ内で処理します。証明書の送信や接続先へのアクセスはありません。

入力元と出力の設定

SANはDNS:名前、IP:アドレス、IP Address:アドレス。接続先は1行に1つのホスト名またはIPです。

SANと接続先は各100件、各欄65,536文字まで。結果は50行ずつ表示します。

名前だけを比較します。CN補完、信頼、有効期限、失効、公開サフィックスは検証しません。

入力が変わりました。再照合すると出力できます。

ホスト名検証は、証明書のホスト名エラーがSANの不足なのか、ワイルドカードの階層違いなのかを切り分けるためのものです。サブジェクトに見覚えのある名前があっても、その接続先を証明書がカバーしているとは限りません。

初期例には一致、不一致、不正な入力を混在させています。深いサブドメインとURL形式の入力は別の理由で失敗するため、証明書を再発行する前に原因を確認できます。

ホスト名検証で見つける設定のずれ

星号が置き換えるのは1階層だけ

ホスト名検証では*.example.comを1つの空でないラベルとして扱います。api.example.comは一致しますが、example.comやdeep.api.example.comはその星号だけでは一致しません。別の完全一致SANがあれば対象にできます。

星号から1階層下の名前にチェックが付き、ルートとさらに深い名前にバツが付く図

DNSとIPを同じ文字列として扱わない

DNS:192.0.2.1はIP:192.0.2.1の代わりになりません。IPアドレスはIP型のSANと比較し、国際化ドメインの接続先はASCIIに変換してからDNS名として照合します。

ドメインは正規化を経て照合され、IPは別経路で等価比較される。型をまたぐ接続は拒否される

判定前に名前の種類をそろえる

01

入力元を選び分ける

SAN一覧はDNS:、IP:、IP Address:付きの値を改行またはカンマで区切ります。PEMモードは完全な証明書ブロックを1つだけ受け付けます。

  • モードを切り替えても各入力元の内容は保持されます。
02

正規化後の値を読む

接続先はホスト名または裸のIPだけです。URL、ポート、パス、角括弧、IPv6のzone IDは含めません。DNS名末尾のドット1つは照合時に除きます。

  • Unicodeの接続先はUTS #46の非移行処理で変換します。SAN側はASCIIのA-labelで入力してください。
03

更新後のレポートを保存する

自動照合は編集後350ms待ちます。無効にすると実行ボタンが現れ、Ctrl/Cmd + Enterでも実行できます。入力が変わると出力操作は無効になります。

  • 表示は50行ずつですが、JSONとCSVには不正な接続先を含む全行が入ります。

接続先ごとに照合の根拠を残す

元の行と一致したSANを保持

各行には元の入力、行番号、正規化した名前、状態、理由コードを記録します。一致した場合は根拠となるSANも表示します。重複した接続先も別の行として残ります。

IPv6の表記揺れを吸収

省略形と展開形が同じIPv6アドレスを表す場合は一致します。IPv4マップドIPv6はIPv6のままで、4バイトのIPv4 SANとは一致しません。アドレスの星号やネットワーク範囲には対応しません。

後続調査に渡せる出力

JSONには解析したSANと無視した種類の件数も含みます。CSVは固定のフィールド名と理由コードを出力し、引用符をエスケープします。表計算で数式と解釈され得るセルには先頭にアポストロフィを付けます。

確認できる範囲と入力条件

証明書の安全性は判定しない
署名、信頼チェーン、有効期限、失効、TLS設定、サイトの稼働状態は確認しません。自己署名や期限切れの証明書でも名前だけは一致することがあります。
対象はDNSとIPのSAN
Common Nameへはフォールバックしません。URI、メール、SRVなど他のサブジェクト代替名は無視した件数に含めます。DNS/IP SANがなければ、CNが同じでもカバー対象にはなりません。
SANを自動修復しない
DNS SANは末尾ドットのないASCIIに限ります。星号は最左ラベル全体だけに使用できます。Unicode SAN、不完全な星号、壊れたIPは全体の実行を止めます。無効な名前を無視するクライアントより厳しい入力方針です。
入力上限と不正な行
各入力欄は65,536 UTF-16コード単位、SANと空でない接続先はそれぞれ100件までです。空行は無視し、不正な接続先は個別に記録します。不正な入力元がある場合は出力できません。
公開サフィックスは検査しない
*.comなども記載した名前の規則だけで照合します。一致してもCAが発行できるという意味ではありません。公開サフィックス一覧やブラウザ別の互換性、DNS照会は扱いません。
証明書は1枚ずつ
証明書チェーン、CSR、DERファイル、秘密鍵、URLからの取得には対応しません。例の読み込みと消去は件数付きでプレビューし、適用後は1回だけ入力と結果を元に戻せます。

ホスト名検証のよくある質問

マルチドメインのSAN証明書とは何ですか?

SAN拡張に複数の識別名を持つ証明書です。完全一致のDNS名、ワイルドカードDNS名、IPを同じ証明書に含めることができます。本ツールでは接続先ごとに該当する型を比較します。

ワイルドカード証明書はどのように機能しますか?

*.example.comの星号が最左の1ラベルだけを置き換えます。www.example.comは対象ですが、a.b.example.comは対象外です。部分的な星号や複数の星号は入力エラーになります。

ワイルドカードでルートドメインも保護できますか?

星号だけではできません。*.example.comとは別にDNS:example.comが必要です。ルートとサブドメインをそれぞれ接続先に入力して確認してください。

IPアドレスのSANに星号を使えますか?

使えません。IP SANは1つの正確なアドレスを表します。IP:192.0.2.*は無効であり、DNS型の数字列でIP型を代用することもできません。

「No subject alternative names present」は何を意味しますか?

照合に必要なSANが証明書にないという意味です。本ツールはCNで補完しません。ホスト名確認を無効化する代わりに、必要なDNSまたはIP SANを持つ証明書を用意してください。

解決しませんでしたか?

変更前に対象名を確かめる

ホスト名検証にクライアントが要求する正確な名前を入力し、一致したSANと理由を確認してから、証明書や接続先の設定を変更してください。