<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body><section><h1>仕様書</h1><refs xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><ul xmlns="http://www.w3.org/1999/xhtml"><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[4]</anchor-end> <strong><cite xml:lang="en">RFC 4985 - Internet X.509 Public Key Infrastructure Subject Alternative Name for Expression of Service Name</cite> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://tools.ietf.org/html/rfc4985">https://tools.ietf.org/html/rfc4985</anchor-external></strong></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="2" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[2]</anchor-end> <cite>RFC Errata Report</cite> (<time>2015-04-01 11:33:31 +09:00</time> 版) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.rfc-editor.org/errata_search.php?rfc=4985">http://www.rfc-editor.org/errata_search.php?rfc=4985</anchor-external></li></ul></refs></section><section><h1>構文</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="5" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[5]</anchor-end> 値は、 <code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IA5String</anchor></code> です。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="3" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[3]</anchor-end> <code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">_</anchor></code>、<rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><anchor>サービス</anchor><rt xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">Service</rt></rubyb>、<code>.<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">ラベル分離子</title></code>、<rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名前<rt xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">Name</rt></rubyb>で構成される値です <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;4</anchor-internal></src>。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="10" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[10]</anchor-end> サービスは、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IANA</anchor> に登録された、または局所的に使われるサービス名です <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;4</anchor-internal></src>。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="11" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[11]</anchor-end> 名前は、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DNSドメイン名</anchor>です <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;4</anchor-internal></src>。</p><figure class="railroad"><ol><li><code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">_</anchor></code></li><li>サービス名</li><li><code>.<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">ラベル分離子</title></code></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DNSドメイン名</anchor></li></ol></figure><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="12" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[12]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DNS RR</anchor> とは違って<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プロトコル</anchor>名は含みません。</comment-p><example xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><p xmlns="http://www.w3.org/1999/xhtml"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="14" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[14]</anchor-end> <code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">_</anchor>mail<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">.<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">ラベル分離子</title></anchor>example.com</code> はサービス名が <code>mail</code>、ドメイン名が
<code>example.com</code> となります。</p></example><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="6" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[6]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IDN</anchor> は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Aラベル</anchor>に変換してから<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">蓄積</anchor>しなければ<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">なりません</strong></anchor>。
すなわち、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IDNA2003</anchor> <code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ToASCII</anchor></code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">演算</anchor>を 
<code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UseSTD3ASCIIRules</anchor></code> フラグあり、 <code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">AllowUnassigned</anchor></code>
フラグなしで適用した結果を<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">蓄積</anchor>しなければ<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">なりません</strong></anchor> <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;4</anchor-internal></src>。</p></section><section><h1>文脈</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="13" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[13]</anchor-end> 要件と処理方法については <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">service identity</anchor> も参照。</p></section><section><h1>比較</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="7" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[7]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">大文字・小文字不区別</anchor>で比較しなければ<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">なりません</strong></anchor> <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;4</anchor-internal></src>。</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8]</anchor-end> 比較対象も比較前に <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="6" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;6</anchor-internal> の通り <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Aラベル</anchor>に変換する必要があります。</comment-p></section><section><h1>レンダリング</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="9" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[9]</anchor-end> 表示前に <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IDN</anchor> を <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Uラベル</anchor>に変換するべきです。すなわち、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IDNA2003</anchor> <code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ToUnicode</anchor></code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">演算</anchor>を <code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UseSTD3ASCIIRules</anchor></code>
フラグあり、 <code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">AllowUnassigned</anchor></code> フラグなしで適用した結果を使うべきです。
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;4</anchor-internal></src></p></section><section><h1>メモ</h1><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[1]</anchor-end> <cite xml:lang="en">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)</cite>
(<time>2015-03-13 22:27:53 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://tools.ietf.org/html/rfc6125#section-1.8">https://tools.ietf.org/html/rfc6125#section-1.8</anchor-external></figcaption><blockquote><p>SRV-ID = a subjectAltName entry of type otherName whose name</p><p>form is SRVName; see <strong>[</strong>SRVNAME<strong>]</strong></p></blockquote></figure></section></body></html>