<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body><p><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> <dfn><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">error alert</anchor></dfn> は、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">TLS</anchor> における<ruby><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">誤り</anchor><rt>エラー</rt></ruby>を通知する<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">メッセージ</anchor>です。</p><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="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[1]</anchor-end> <strong><cite xml:lang="en">RFC 5246 - The Transport Layer Security (TLS) Protocol Version 1.2</cite> (<time>2015-02-19 08:58:15 +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://tools.ietf.org/html/rfc5246#section-7.2.2">http://tools.ietf.org/html/rfc5246#section-7.2.2</anchor-external></strong></li><li><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> <cite>Transport Layer Security (TLS) Parameters</cite> (<time>2015-02-27 12:03:35 +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.iana.org/assignments/tls-parameters/tls-parameters.xhtml#tls-parameters-6">http://www.iana.org/assignments/tls-parameters/tls-parameters.xhtml#tls-parameters-6</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="15" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[15]</anchor-end> <cite xml:lang="en">RFC 6066 - Transport Layer Security (TLS) Extensions: Extension Definitions</cite> (<time>2015-02-01 18:07:52 +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://tools.ietf.org/html/rfc6066#section-9">http://tools.ietf.org/html/rfc6066#section-9</anchor-external></li></ul></refs></section><section><h1>プロトコル</h1><p><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> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">TLS Handshake protocol</anchor> では、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">誤り</anchor>を検出したら、相手に対して<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">メッセージ</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="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;1</anchor-internal></src>。<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">誤り</anchor>には<rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">致死的<rt xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">fatal</rt></rubyb>なものと、そうでないものがあります。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">fatal alert</anchor> と定義されている条件に遭遇したら、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">接続</anchor>を閉じる前に適切な <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">alert</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="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;1</anchor-internal></src>。 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">alert</anchor> level が明示的に規定されていない<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">誤り</anchor>については、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">誤り</anchor>の送信者が <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">fatal</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="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;1</anchor-internal></src>。 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">alert</anchor> を送信する場合で、
その直後に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">接続</anchor>を閉じるつもりの場合は、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">fatal alert</anchor> level で <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">alert</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="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;1</anchor-internal></src>。</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> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">fatal alert message</anchor> を送信または受信したら、直ちに<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">接続</anchor>を閉じます。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">鯖</anchor>および<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">クライアント</anchor>は、失敗した<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">接続</anchor>に関する<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">セッション識別子</anchor>、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">鍵</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:">fatal alert</anchor> によって終了した<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">接続</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>。 <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="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;1</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="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:">closure alert</anchor> とは違って <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">alert</anchor> を返送する必要は無いようです。</comment-p><p><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> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">alert level</anchor> が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">警告</anchor>の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">alert</anchor> を送信または受信したら、通常は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">接続</anchor>は通常通り継続できます。
受信者が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">接続</anchor>を継続しないことにした場合は、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">接続</anchor>を終える <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">fatal alert</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="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;1</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="5" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[5]</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:">警告</anchor>を送信するのは好ましくないこともあり、
そのため省略される場合もあります。例えば<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">証明書</anchor>が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">満期</anchor>していても<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">接続</anchor>を継続したい場合、
<code xmlns="http://www.w3.org/1999/xhtml"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">certificate_expired</anchor></code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">alert</anchor> は送信しません。 <src><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;1</anchor-internal></src></comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="19" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[19]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Firefox</anchor> は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">証明書</anchor>エラーで <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">fatal alert</anchor> を送った後、 <code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RST</anchor></code>
するようです。 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Chrome</anchor> は普通に <code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">FIN</anchor></code> で閉じるようです。 <time>2015-09-12T06:07:43.600Z</time></p></section><section><h1>alert の種類</h1><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:">error alert</anchor> の種類には次のものがあります。</p><figure class="middle list"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="23" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[23]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">error alert</anchor> 種別</figcaption><ul><li><code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">unexpected_message</anchor></code> (<code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">10</anchor></code>)</li><li><code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">bad_record_mac</anchor></code> (<code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">20</anchor></code>)</li><li><code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">decryption_failed_RESERVED</anchor></code> (<code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">21</anchor></code>)</li><li><code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">record_overflow</anchor></code> (<code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">22</anchor></code>)</li><li><code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">decompression_failure</anchor></code> (<code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">30</anchor></code>)</li><li><code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">handshake_failure</anchor></code> (<code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">40</anchor></code>)</li><li><code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">no_certificate_RESERVED</anchor></code> (<code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">41</anchor></code>)</li><li><code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">bad_certificate</anchor></code> (<code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">42</anchor></code>)</li><li><code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">unsupported_certificate</anchor></code> (<code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">43</anchor></code>)</li><li><code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">certificate_revoked</anchor></code> (<code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">44</anchor></code>)</li><li><code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">certificate_expired</anchor></code> (<code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">45</anchor></code>)</li><li><code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">certificate_unknown</anchor></code> (<code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">46</anchor></code>)</li><li><code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">illegal_parameter</anchor></code> (<code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">47</anchor></code>)</li><li><code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">unknown_ca</anchor></code> (<code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">48</anchor></code>)</li><li><code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">access_denied</anchor></code> (<code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">49</anchor></code>)</li><li><code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">decode_error</anchor></code> (<code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">50</anchor></code>)</li><li><code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">decrypt_error</anchor></code> (<code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">51</anchor></code>)</li><li><code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">export_restriction_RESERVED</anchor></code> (<code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">60</anchor></code>)</li><li><code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">protocol_version</anchor></code> (<code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">70</anchor></code>)</li><li><code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">insufficient_security</anchor></code> (<code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">71</anchor></code>)</li><li><code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">internal_error</anchor></code> (<code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">80</anchor></code>)</li><li><code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">user_canceled</anchor></code> (<code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">90</anchor></code>)</li><li><code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">no_renegotiation</anchor></code> (<code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">100</anchor></code>)</li><li><code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">unsupported_extension</anchor></code> (<code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">110</anchor></code>)</li><li><code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">inappropriate_fallback</anchor></code> (<code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">86</anchor></code>)</li><li><code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">user_canceled</anchor></code> (<code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">90</anchor></code>)</li><li><code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">certificate_unobtainable</anchor></code> (<code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">111</anchor></code>)</li><li><code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">unrecognized_name</anchor></code> (<code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">112</anchor></code>)</li><li><code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">bad_certificate_status_response</anchor></code> (<code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">113</anchor></code>)</li><li><code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">bad_certificate_hash_value</anchor></code> (<code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">114</anchor></code>)</li><li><code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">unknown_psk_identity</anchor></code> (<code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">115</anchor></code>)</li><li><code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">no_application_protocol</anchor></code> (<code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">120</anchor></code>)</li></ul></figure><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:">IANA登録簿</anchor>も用意されています。</p><p><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> <code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">close_notify</anchor></code> (<code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">0</anchor></code>) は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">closure alert</anchor> に分類されていて、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">error alert</anchor> とは別の処理が規定されています。</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:">TLS</anchor> を使う<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">アプリケーション層プロトコル</anchor>は、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">TLS</anchor> の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">接続</anchor>が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">誤り</anchor>により閉じられた際の処理
(何らかの方法で復帰する、更に上位の層に誤りを通知するなど) を規定する必要があります。</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> 例えば <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 2818</anchor> は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTPS</anchor> に関する処理を規定しています。</p></example><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="16" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[16]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HSTS</anchor> は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">TLS</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">接続</anchor>時に誤りや警告があれば、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HSTS</anchor> の指定を無視すると規定しています。</p></example></section><section><h1>メモ</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="17" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[17]</anchor-end> <cite>Web Security Context: User Interface Guidelines</cite>
(<time>2010-08-04 20:09:50 +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.w3.org/TR/wsc-ui/#sec-tlserrors">http://www.w3.org/TR/wsc-ui/#sec-tlserrors</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="18" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[18]</anchor-end> <cite xml:lang="en">OpenSSL</cite>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">OpenSSL Foundation, Inc.</anchor> 著, <time>2015-09-06 23:03:30 +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://www.openssl.org/docs/manmaster/ssl/SSL_alert_type_string.html">https://www.openssl.org/docs/manmaster/ssl/SSL_alert_type_string.html</anchor-external></p></section></body></html>