subjectAltName

subjectAltName 拡張 (PKI)

[1] subjectAltName (SAN) は、証明書においてドメイン名IPアドレスなどを記述する欄です。

[12] TLS + PKIX による service identity の検証では、 サーバー証明書中の本欄に記されたドメイン名がアクセスしているサーバードメイン名一致しているかが検証されます。

仕様書

構文

[6] 値は、 GeneralNames です >>2

  1. GeneralNames

[23] HTTPS 用の証明書では dNSName が1個以上含められるのが普通です。

[24] 稀に iPAddressIPv4アドレスIPv6アドレスが含められる場合があります。

[25] それ以外はほとんど見かけません。

[26] なお dNSName の構文は IA5String非ASCII文字は使えませんが、 IDNAラベルを使うので支障ありません。


[29] dNSName として記述されるドメイン名の組合せに制約はありません。 同じドメインサブドメインでも構いませんし、 異なる TLDドメインが混じっていても構いません。 ワイルドカードドメインも使えます。

適合性

[4] CASAN に対応しなければなりません >>3, >>13

[14] BR に従う CA発行する証明書SAN は、 最低1つのエントリーを含まなければなりません。各エントリーdNSName または iPAddress でなければなりません>>13

[5] 応用SAN を認識しなければなりません >>3

Subject 欄における subjectAltName の指定

[19] CSR において (SAN 拡張ではなく) subject 欄において subjectAltName という欄に DNS.1=domain1.example, DNS.2=domain2.example のような値を指定する例 >>17, >>18 が示されていることがあります。

[20] CSR を受け取って証明書を発行する CA はこの指定を使ってくれる >>18 と説明されています。

[21] 証明書subject 欄にこのような指定を含めても、 FirefoxChromeIE も認識しないようです。 OpenSSL によって CSR から証明書を発行しても、 CSRsubject がそのまま証明書に使われるだけで、 証明書拡張に変換されるわけではないようです。

文脈

[28] DNS-ID, SRV-ID, URI-ID

関連

[27] CN-ID

メモ

[7] RFC 6125 - Representation and Verification of Domain-Based Application Service Identity within Internet Public Key Infrastructure Using X.509 (PKIX) Certificates in the Context of Transport Layer Security (TLS) ( 版) https://tools.ietf.org/html/rfc6125#section-1.8

subjectAltName entry: An identifier placed in a subjectAltName

extension.

subjectAltName extension: A standard PKIX certificate extension

[PKIX] enabling identifiers of various types to be bound to the

certificate subject -- in addition to, or in place of, identifiers

that may be embedded within or provided as a certificate's subject

field.

[8] ネームベースの VirtualHost で SSL/TLS (5) - TenForwardの日記 ( 版) http://d.hatena.ne.jp/defiant/20080123/1201083050

IPアドレスでアクセスするので,以下のように subjectAltName も "IP" を指定してやってみました.これだと Firefox2 だと問題なく全てのアドレスでアクセス出来ましたが,IE6 と Opera9 だと,証明書内の名前とアクセスしようとしているサーバ名が違う,というような警告が出ます.

[9] 自堕落な技術者の日記 : 小ネタ:FireFoxとIEでのIPアドレスのSubjectAltName dNSNameの扱いの違い - livedoor Blog(ブログ) ( 版) http://blog.livedoor.jp/k_urushima/archives/1638629.html

某IPアドレスで書かれたサイトにHTTPSでアクセスしてみると うむむ、FireFox 3.6.23だと 信頼できない接続のアラートが、、、

IE8だと問題ありません。

んなアホな。 うむむと思ってSSLサーバー証明書を見てみると

SubjectAltNameのGeneralName値が

dNSName: 192.168.1.5

みたいにDNS NameのところにIPアドレスが 書いてある証明書のせいみたいなんです。

[10] 369112 – With HTTPS, the Subject Common Name gets ignored if subjectAltName extension is present. ( 版) https://bugzilla.mozilla.org/show_bug.cgi?id=369112

[11] 553749 – mozilla.org sites should use an SSL certificate with a subjectAltName ( 版) https://bugzilla.mozilla.org/show_bug.cgi?id=553749

[15] gitやcurlやwgetでGitHubにアクセスするとcertification errorになる原因を調べてみた - Dマイナー志向 ( 版) http://d.hatena.ne.jp/tmatsuu/20110614/1308010044

[16] certificates - Provide subjectAltName to openssl directly on command line - Information Security Stack Exchange ( 版) http://security.stackexchange.com/questions/74345/provide-subjectaltname-to-openssl-directly-on-command-line

[22] 自堕落な技術者の日記 : 最近の証明書の話題(2): CloudFlare DNS 1.1.1.1サイトのIPv6証明書 - livedoor Blog(ブログ) () http://blog.livedoor.jp/k_urushima/archives/1839342.html