RFC4366 日本語訳

4366 Transport Layer Security (TLS) Extensions. S. Blake-Wilson, M.Nystrom, D. Hopwood, J. Mikkelsen, T. Wright. April 2006. (Format: TXT=66344 bytes) (Obsoletes RFC3546) (Obsoleted by RFC5246) (Updates RFC4346) (Status: PROPOSED STANDARD)
プログラムでの自動翻訳です。
英語原文

Network Working Group                                    S. Blake-Wilson
Request for Comments: 4366                                           BCI
Obsoletes: 3546                                               M. Nystrom
Updates: 4346                                               RSA Security
Category: Standards Track                                     D. Hopwood
                                                  Independent Consultant
                                                            J. Mikkelsen
                                                         Transactionware
                                                               T. Wright
                                                                Vodafone
                                                              April 2006

コメントを求めるワーキンググループS.ブレーク-ウィルソンの要求をネットワークでつないでください: 4366BCIは以下を時代遅れにします。 3546のM.ニストロムアップデート: 4346年のRSAセキュリティカテゴリ: 独立している標準化過程のミッケルセンTransactionware T.職人ボーダフォンD.HopwoodコンサルタントJ.2006年4月

               Transport Layer Security (TLS) Extensions

トランスポート層セキュリティ(TLS)拡大

Status of This Memo

このメモの状態

   This document specifies an Internet standards track protocol for the
   Internet community, and requests discussion and suggestions for
   improvements.  Please refer to the current edition of the "Internet
   Official Protocol Standards" (STD 1) for the standardization state
   and status of this protocol.  Distribution of this memo is unlimited.

このドキュメントは、インターネットコミュニティにインターネット標準化過程プロトコルを指定して、改良のために議論と提案を要求します。 このプロトコルの標準化状態と状態への「インターネット公式プロトコル標準」(STD1)の現行版を参照してください。 このメモの分配は無制限です。

Copyright Notice

版権情報

   Copyright (C) The Internet Society (2006).

Copyright(C)インターネット協会(2006)。

Abstract

要約

   This document describes extensions that may be used to add
   functionality to Transport Layer Security (TLS).  It provides both
   generic extension mechanisms for the TLS handshake client and server
   hellos, and specific extensions using these generic mechanisms.

このドキュメントはTransport Layer Security(TLS)に機能性を加えるのに使用されるかもしれない拡張子について説明します。 それは、これらのジェネリックメカニズムを使用することでTLS握手クライアントとサーバのための両方のジェネリック拡張機能にhellos、および特定の拡大を提供します。

   The extensions may be used by TLS clients and servers.  The
   extensions are backwards compatible: communication is possible
   between TLS clients that support the extensions and TLS servers that
   do not support the extensions, and vice versa.

拡張子はTLSクライアントとサーバによって使用されるかもしれません。 拡大が後方にそうである、コンパチブル: コミュニケーションは拡大とTLSが拡大をサポートしないサーバであるとサポートするTLSクライアントの間で可能です、逆もまた同様に。

Blake-Wilson, et al.        Standards Track                     [Page 1]

RFC 4366                     TLS Extensions                   April 2006

ブレーク-ウィルソン、他 規格はTLS拡大2006年4月にRFC4366を追跡します[1ページ]。

Table of Contents

目次

   1. Introduction ....................................................3
      1.1. Conventions Used in This Document ..........................5
   2. General Extension Mechanisms ....................................5
      2.1. Extended Client Hello ......................................5
      2.2. Extended Server Hello ......................................6
      2.3. Hello Extensions ...........................................6
      2.4. Extensions to the Handshake Protocol .......................8
   3. Specific Extensions .............................................8
      3.1.  Server Name Indication ....................................9
      3.2.  Maximum Fragment Length Negotiation ......................11
      3.3.  Client Certificate URLs ..................................12
      3.4.  Trusted CA Indication ....................................15
      3.5. Truncated HMAC ............................................16
      3.6. Certificate Status Request ................................17
   4. Error Alerts ...................................................19
   5. Procedure for Defining New Extensions ..........................20
   6. Security Considerations ........................................21
      6.1. Security of server_name ...................................22
      6.2. Security of max_fragment_length ...........................22
      6.3. Security of client_certificate_url ........................22
      6.4. Security of trusted_ca_keys ...............................24
      6.5. Security of truncated_hmac ................................24
      6.6. Security of status_request ................................25
   7. Internationalization Considerations ............................25
   8. IANA Considerations ............................................25
   9. Acknowledgements ...............................................27
   10. Normative References ..........................................27
   11. Informative References ........................................28

1. 序論…3 1.1. このドキュメントで中古のコンベンション…5 2. 一般拡張機能…5 2.1. 拡張クライアント、こんにちは…5 2.2. 拡張サーバ、こんにちは…6 2.3. こんにちは、拡大…6 2.4. 握手への拡大は議定書を作ります…8 3. 特定の拡大…8 3.1. サーバー名指示…9 3.2. 最大の断片長さの交渉…11 3.3. クライアント証明書URL…12 3.4. カリフォルニアの指示を信じます…15 3.5. HMACに先端を切らせます…16 3.6. 状態要求を証明してください…17 4. 誤り警戒…19 5. 新しい拡大を定義するための手順…20 6. セキュリティ問題…21 6.1. サーバ_名前のセキュリティ…22 6.2. 最大_のセキュリティは_長さを断片化します…22 6.3. クライアント_のセキュリティは_urlを証明します…22 6.4. 信じられた_ca_キーのセキュリティ…24 6.5. 端が欠けている_hmacのセキュリティ…24 6.6. 状態_要求のセキュリティ…25 7. 国際化問題…25 8. IANA問題…25 9. 承認…27 10. 標準の参照…27 11. 有益な参照…28

Blake-Wilson, et al.        Standards Track                     [Page 2]

RFC 4366                     TLS Extensions                   April 2006

ブレーク-ウィルソン、他 規格はTLS拡大2006年4月にRFC4366を追跡します[2ページ]。

1.  Introduction

1. 序論

   This document describes extensions that may be used to add
   functionality to Transport Layer Security (TLS).  It provides both
   generic extension mechanisms for the TLS handshake client and server
   hellos, and specific extensions using these generic mechanisms.

このドキュメントはTransport Layer Security(TLS)に機能性を加えるのに使用されるかもしれない拡張子について説明します。 それは、これらのジェネリックメカニズムを使用することでTLS握手クライアントとサーバのための両方のジェネリック拡張機能にhellos、および特定の拡大を提供します。

   TLS is now used in an increasing variety of operational environments,
   many of which were not envisioned when the original design criteria
   for TLS were determined.  The extensions introduced in this document
   are designed to enable TLS to operate as effectively as possible in
   new environments such as wireless networks.

TLSは現在、増加するバラエティーの運用環境に使用されます。TLSの当初の設計評価基準が決定していたとき、その多くが思い描かれませんでした。 本書では導入された拡大は、TLSがワイヤレス・ネットワークなどの新しい環境でできるだけ有効に作動するのを可能にするように設計されています。

   Wireless environments often suffer from a number of constraints not
   commonly present in wired environments.  These constraints may
   include bandwidth limitations, computational power limitations,
   memory limitations, and battery life limitations.

ワイヤレスの環境はしばしばワイヤードな環境における一般的に現在でない多くの規制に苦しみます。 これらの規制は帯域幅制限、コンピュータのパワー制限、メモリ制限、およびバッテリーの寿命制限を含むかもしれません。

   The extensions described here focus on extending the functionality
   provided by the TLS protocol message formats.  Other issues, such as
   the addition of new cipher suites, are deferred.

拡大はここでTLSプロトコルメッセージ・フォーマットによって提供された機能性を広げるところの焦点について説明しました。 新しい暗号スイートの追加などの他の問題は延期されます。

   Specifically, the extensions described in this document:

明確に、これで説明された拡大は以下を記録します。

   -  Allow TLS clients to provide to the TLS server the name of the
      server they are contacting.  This functionality is desirable in
      order to facilitate secure connections to servers that host
      multiple 'virtual' servers at a single underlying network address.

- TLSクライアントに彼らが連絡しているサーバの名前をTLSサーバに提供させてください。 この機能性は、ただ一つの基本的なネットワーク・アドレスの複数の'仮想'のサーバをホスティングするサーバに安全な接続を容易にするために望ましいです。

   -  Allow TLS clients and servers to negotiate the maximum fragment
      length to be sent.  This functionality is desirable as a result of
      memory constraints among some clients, and bandwidth constraints
      among some access networks.

- TLSクライアントとサーバに送られる最大の断片の長さを交渉させてください。 この機能性は何人かのクライアントの中のメモリ規制、およびいくつかのアクセスネットワークの中の帯域幅規制の結果、望ましいです。

   -  Allow TLS clients and servers to negotiate the use of client
      certificate URLs.  This functionality is desirable in order to
      conserve memory on constrained clients.

- TLSクライアントとサーバにクライアント証明書URLの使用を交渉させてください。 この機能性は、強制的なクライアントに関するメモリを保存するために望ましいです。

   -  Allow TLS clients to indicate to TLS servers which CA root keys
      they possess.  This functionality is desirable in order to prevent
      multiple handshake failures involving TLS clients that are only
      able to store a small number of CA root keys due to memory
      limitations.

- それらがどのカリフォルニアルートキーを所有しているかをTLSクライアントをTLSサーバに示させてください。 この機能性は、複数の握手失敗がメモリ制限のため少ない数のカリフォルニアルートキーを保存できるだけであるTLSクライアントにかかわるのを防ぐために望ましいです。

   -  Allow TLS clients and servers to negotiate the use of truncated
      MACs.  This functionality is desirable in order to conserve
      bandwidth in constrained access networks.

- TLSクライアントとサーバに端が欠けているMACsの使用を交渉させてください。 この機能性は、制約つきアクセスネットワークの帯域幅を保存するために望ましいです。

Blake-Wilson, et al.        Standards Track                     [Page 3]

RFC 4366                     TLS Extensions                   April 2006

ブレーク-ウィルソン、他 規格はTLS拡大2006年4月にRFC4366を追跡します[3ページ]。

   -  Allow TLS clients and servers to negotiate that the server sends
      the client certificate status information (e.g., an Online
      Certificate Status Protocol (OCSP) [OCSP] response) during a TLS
      handshake.  This functionality is desirable in order to avoid
      sending a Certificate Revocation List (CRL) over a constrained
      access network and therefore save bandwidth.

- TLS握手の間、クライアント証明書状態情報(例えば、Online Certificate Statusプロトコル(OCSP)[OCSP]応答)をサーバが送るTLSクライアントと交渉するサーバに許容してください。 この機能性は、Certificate Revocation List(CRL)を制約つきアクセスネットワークの上に送るのを避けて、したがって、帯域幅を保存するために望ましいです。

   In order to support the extensions above, general extension
   mechanisms for the client hello message and the server hello message
   are introduced.

クライアントのために上の拡大、一般的な拡張機能をサポートする、こんにちは、メッセージとサーバ、こんにちは、メッセージは紹介されます。

   The extensions described in this document may be used by TLS clients
   and servers.  The extensions are designed to be backwards compatible,
   meaning that TLS clients that support the extensions can talk to TLS
   servers that do not support the extensions, and vice versa.  The
   document therefore updates TLS 1.0 [TLS] and TLS 1.1 [TLSbis].

本書では説明された拡張子はTLSクライアントとサーバによって使用されるかもしれません。 拡大は後方にであるなるように設計されていて、互換性があるので、そのTLSを意味して、拡大をサポートするクライアントが拡大をサポートしないTLSサーバと話すことができます、逆もまた同様にことです。 したがって、ドキュメントはTLS1.0[TLS]とTLS1.1[TLSbis]をアップデートします。

   Backwards compatibility is primarily achieved via two considerations:

後方に、互換性は2つの問題で主として獲得されます:

   -  Clients typically request the use of extensions via the extended
      client hello message described in Section 2.1. TLS requires
      servers to accept extended client hello messages, even if the
      server does not "understand" the extension.

- クライアントが拡張クライアントを通して拡張子の使用を通常要求する、こんにちは、メッセージはセクション2.1で説明しました。 TLSが拡張クライアントを受け入れるためにサーバを必要とする、こんにちは、メッセージサーバが拡大を「理解していなく」ても。

   -  For the specific extensions described here, no mandatory server
      response is required when clients request extended functionality.

- ここで説明された特定の拡大において、クライアントが拡張機能性を要求する場合、どんな義務的なサーバ応答も必要ではありません。

   Essentially, backwards compatibility is achieved based on the TLS
   requirement that servers that are not "extensions-aware" ignore data
   added to client hellos that they do not recognize; for example, see
   Section 7.4.1.2 of [TLS].

本質的には、遅れている互換性は「拡大意識していない」サーバが彼らが認識しないクライアントhellosに加えられたデータを無視するというTLS要件に基づいて獲得されます。 例えば、セクション7.4を見てください。.1 .2[TLS。]

   Note, however, that although backwards compatibility is supported,
   some constrained clients may be forced to reject communications with
   servers that do not support the extensions as a result of the limited
   capabilities of such clients.

しかしながら、遅れている互換性がサポートされますが、何人かの強制的なクライアントがやむを得ずそのようなクライアントの限られた能力の結果、拡大をサポートしないサーバとのコミュニケーションを拒絶するかもしれないことに注意してください。

   This document is a revision of the RFC3546 [RFC3546].  The only major
   change concerns the definition of new extensions.  New extensions can
   now be defined via the IETF Consensus Process (rather than requiring
   a standards track RFC).  In addition, a few minor clarifications and
   editorial improvements were made.

このドキュメントはRFC3546[RFC3546]の改正です。 唯一の大きな変化が新しい拡大の定義に関係があります。 現在、IETF Consensus Process(標準化過程RFCを必要とするよりむしろ)を通して新しい拡大を定義できます。 さらに、いくつかの小さい方の明確化と編集の改良をしました。

   The remainder of this document is organized as follows.  Section 2
   describes general extension mechanisms for the client hello and
   server hello handshake messages.  Section 3 describes specific
   extensions to TLS.  Section 4 describes new error alerts for use with

このドキュメントの残りは以下の通り組織化されます。 セクション2がクライアントのために一般的な拡張機能について説明する、こんにちは、サーバ、こんにちは、握手メッセージ。 セクション3は特定の拡大についてTLSに説明します。 4と使用のための新しい誤り警戒について説明するセクション

Blake-Wilson, et al.        Standards Track                     [Page 4]

RFC 4366                     TLS Extensions                   April 2006

ブレーク-ウィルソン、他 規格はTLS拡大2006年4月にRFC4366を追跡します[4ページ]。

   the TLS extensions.  The final sections of the document address IPR,
   security considerations, registration of the application/pkix-pkipath
   MIME type, acknowledgements, and references.

TLS拡張子。 ドキュメントの最後のセクションはアプリケーション/pkix-pkipath MIMEの種類、承認、および参照の登録をIPR、セキュリティ問題に扱います。

1.1.  Conventions Used in This Document

1.1. 本書では使用されるコンベンション

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in BCP 14, RFC 2119
   [KEYWORDS].

キーワード“MUST"、「必須NOT」が「必要です」、“SHALL"、「」、“SHOULD"、「「推薦され」て、「5月」の、そして、「任意」のNOTはBCP14RFC2119[キーワード]で説明されるように本書では解釈されることであるべきです。

2.  General Extension Mechanisms

2. 一般拡張機能

   This section presents general extension mechanisms for the TLS
   handshake client hello and server hello messages.

このセクションがTLS握手クライアントのために一般的な拡張機能を提示する、こんにちは、サーバ、こんにちは、メッセージ。

   These general extension mechanisms are necessary in order to enable
   clients and servers to negotiate whether to use specific extensions,
   and how to use specific extensions.  The extension formats described
   are based on [MAILINGLIST].

これらの一般的な拡張機能が、クライアントとサーバが特定の拡張子を使用するか、そして、どう特定の拡張子を使用するかを交渉するのを可能にするのに必要です。 説明された拡大形式は[MAILINGLIST]に基づいています。

   Section 2.1 specifies the extended client hello message format,
   Section 2.2 specifies the extended server hello message format, and
   Section 2.3 describes the actual extension format used with the
   extended client and server hellos.

セクション2.1が拡張クライアントを指定する、こんにちは、メッセージ・フォーマット、セクション2.2が拡張サーバを指定する、こんにちは、メッセージ・フォーマット、およびセクション2.3 拡張クライアントとサーバhellosと共に使用される実際の拡大形式について説明します。

2.1.  Extended Client Hello

2.1. 拡張クライアント、こんにちは。

   Clients MAY request extended functionality from servers by sending
   the extended client hello message format in place of the client hello
   message format.  The extended client hello message format is:

クライアントがサーバから拡張クライアントを送ることによって拡張機能性を要求するかもしれない、こんにちは、クライアントに代わったメッセージ・フォーマット、こんにちは、メッセージ・フォーマット。 拡張クライアント、こんにちは、メッセージ・フォーマットは以下の通りです。

         struct {
             ProtocolVersion client_version;
             Random random;
             SessionID session_id;
             CipherSuite cipher_suites<2..2^16-1>;
             CompressionMethod compression_methods<1..2^8-1>;
             Extension client_hello_extension_list<0..2^16-1>;
         } ClientHello;

struct ProtocolVersionクライアント_バージョン; __こんにちは、無作為の無作為; SessionIDセッション_イド;のCipherSuite暗号_スイート<2..2^16-1>; CompressionMethod圧縮_メソッド<1..2^8-1>; 拡大クライアント拡大_リスト<0..2^16-1>;ClientHello。

   Here the new "client_hello_extension_list" field contains a list of
   extensions.  The actual "Extension" format is defined in Section 2.3.

_拡大_は」 分野を記載します。ここ、新しさ、「クライアント_、こんにちは、拡大のリストを含んでいます。 実際の「拡大」書式はセクション2.3で定義されます。

   In the event that a client requests additional functionality using
   the extended client hello, and this functionality is not supplied by
   the server, the client MAY abort the handshake.

クライアントが拡張クライアントを使用することで追加機能性を要求する、こんにちは、この機能性はサーバによって提供されないで、クライアントは握手を中止するかもしれません。

Blake-Wilson, et al.        Standards Track                     [Page 5]

RFC 4366                     TLS Extensions                   April 2006

ブレーク-ウィルソン、他 規格はTLS拡大2006年4月にRFC4366を追跡します[5ページ]。

   Note that [TLS], Section 7.4.1.2, allows additional information to be
   added to the client hello message.  Thus, the use of the extended
   client hello defined above should not "break" existing TLS servers.

その[TLS]、セクション7.4.1に注意してください、.2、追加情報がクライアントに加えられるのを許容する、こんにちは、メッセージ。 その結果、こんにちは、定義されて、存在が上で「壊れるべきでない」という拡張クライアントTLSの使用、サーバ。

   A server that supports the extensions mechanism MUST accept only
   client hello messages in either the original or extended ClientHello
   format and (as for all other messages) MUST check that the amount of
   data in the message precisely matches one of these formats.  If it
   does not, then it MUST send a fatal "decode_error" alert.  This
   overrides the "Forward compatibility note" in [TLS].

拡大メカニズムをサポートするサーバがクライアントだけを受け入れなければならない、こんにちは、どちらかでオリジナルの、または、拡張しているClientHello書式を通信させて、メッセージのデータ量が正確にこれらの形式の1つに合っているのをチェックしなければなりません(他のすべてのメッセージによって)。 そうしないなら、それは「_誤りを解読してください」という致命的な警戒を送らなければなりません。 これは[TLS]の「下位互換注意」をくつがえします。

2.2.  Extended Server Hello

2.2. 拡張サーバ、こんにちは。

   The extended server hello message format MAY be sent in place of the
   server hello message when the client has requested extended
   functionality via the extended client hello message specified in
   Section 2.1.  The extended server hello message format is:

拡張サーバ、こんにちは、サーバに代わってメッセージ・フォーマットを送るかもしれない、こんにちは、クライアントであるときに、メッセージが拡張クライアントを通して拡張機能性を要求した、こんにちは、メッセージはセクション2.1で指定しました。 拡張サーバ、こんにちは、メッセージ・フォーマットは以下の通りです。

      struct {
          ProtocolVersion server_version;
          Random random;
          SessionID session_id;
          CipherSuite cipher_suite;
          CompressionMethod compression_method;
          Extension server_hello_extension_list<0..2^16-1>;
      } ServerHello;

struct ProtocolVersionサーバ_バージョン; __こんにちは、無作為の無作為; SessionIDセッション_イド;のCipherSuite暗号_スイート; CompressionMethod圧縮_メソッド; 拡大サーバ拡大_リスト<0..2^16-1>;ServerHello。

   Here the new "server_hello_extension_list" field contains a list of
   extensions.  The actual "Extension" format is defined in Section 2.3.

_拡大_は」 分野を記載します。ここ、新しさ、「サーバ_、こんにちは、拡大のリストを含んでいます。 実際の「拡大」書式はセクション2.3で定義されます。

   Note that the extended server hello message is only sent in response
   to an extended client hello message.  This prevents the possibility
   that the extended server hello message could "break" existing TLS
   clients.

それに注意してください、拡張サーバ、こんにちは、拡張クライアントに対応してメッセージを送るだけである、こんにちは、メッセージ。 これが可能性を防ぐ、それ、拡張サーバ、こんにちは、メッセージは既存のTLSクライアントを「壊すかもしれません」。

2.3.  Hello Extensions

2.3. こんにちは、拡大

   The extension format for extended client hellos and extended server
   hellos is:

拡張クライアントhellosと拡張サーバhellosのための拡大形式は以下の通りです。

      struct {
          ExtensionType extension_type;
          opaque extension_data<0..2^16-1>;
      } Extension;

struct ExtensionType拡大_タイプ; 不透明な拡大_データ<0..2^16-1>;拡張子。

Blake-Wilson, et al.        Standards Track                     [Page 6]

RFC 4366                     TLS Extensions                   April 2006

ブレーク-ウィルソン、他 規格はTLS拡大2006年4月にRFC4366を追跡します[6ページ]。

   Here:

ここ:

   - "extension_type" identifies the particular extension type.

- 「拡大_タイプ」は特定の拡大タイプを特定します。

   - "extension_data" contains information specific to the particular
     extension type.

- 「拡大_データ」は特定の拡大タイプに、特定の情報を含んでいます。

   The extension types defined in this document are:

本書では定義された拡大タイプは以下の通りです。

      enum {
          server_name(0), max_fragment_length(1),
          client_certificate_url(2), trusted_ca_keys(3),
          truncated_hmac(4), status_request(5), (65535)
      } ExtensionType;

サーバ_名(0)、最大_の断片_長さ(1)、クライアント_証明書_url(2)、信じられた_ca_キー(3)、端が欠けている_hmac(4)、状態_要求(5)、(65535)をenumする、ExtensionType。

   The list of defined extension types is maintained by the IANA.  The
   current list can be found at:
   http://www.iana.org/assignments/tls-extensiontype-values.  See
   Sections 5 and 8 for more information on how new values are added.

定義された拡大タイプのリストはIANAによって維持されます。 以下で現在のリストを見つけることができます。 http://www.iana.org/assignments/tls-extensiontype-values 。 新しい値がどう加えられるかに関する詳しい情報に関してセクション5と8を見てください。

   Note that for all extension types (including those defined in the
   future), the extension type MUST NOT appear in the extended server
   hello unless the same extension type appeared in the corresponding
   client hello.  Thus clients MUST abort the handshake if they receive
   an extension type in the extended server hello that they did not
   request in the associated (extended) client hello.

同じでない場合、拡大タイプは対応するクライアントに現れました。すべての拡大タイプ(将来定義されたものを含んでいる)に関して、拡大タイプが拡張サーバに現れてはいけないことに注意してください、こんにちは、こんにちは。 彼らが拡大を受けるなら、握手は、こんにちはを拡張サーバでタイプします。その結果、クライアントが中止にならなければならない、彼らは、関連している(拡張)クライアントでこんにちはよう要求しませんでした。

   Nonetheless, "server-oriented" extensions may be provided in the
   future within this framework.  Such an extension (say, of type x)
   would require the client to first send an extension of type x in the
   (extended) client hello with empty extension_data to indicate that it
   supports the extension type.  In this case, the client is offering
   the capability to understand the extension type, and the server is
   taking the client up on its offer.

それにもかかわらず、将来、このフレームワークの中で「サーバ指向」の拡大を提供するかもしれません。 そのような拡張子(たとえばタイプxについて)は、クライアントが最初に示すそれがサポートする空の拡大_データでこんにちは、拡大タイプを(広げられる)のクライアントというタイプxの拡大に送るのを必要とするでしょう。 この場合、クライアントは拡大タイプを理解する能力を提供しています、そして、サーバは申し出にクライアントを拾っています。

   Also note that when multiple extensions of different types are
   present in the extended client hello or the extended server hello,
   the extensions may appear in any order.  There MUST NOT be more than
   one extension of the same type.

また、異なったタイプの複数の拡大が拡張クライアントに存在しているときにはそれに注意してください、こんにちは、または、こんにちは、拡大がどんなオーダーでも見えるかもしれない拡張サーバ。 同じタイプの1つ以上の拡大があるはずがありません。

   Finally, note that an extended client hello may be sent both when
   starting a new session and when requesting session resumption.
   Indeed, a client that requests resumption of a session does not in
   general know whether the server will accept this request, and
   therefore it SHOULD send an extended client hello if it would
   normally do so for a new session.  In general the specification of
   each extension type must include a discussion of the effect of the
   extension both during new sessions and during resumed sessions.

最終的に、それに注意してください、拡張クライアント、こんにちは、ともに新しいセッションといつがセッション再開を要求し始めるかとき、送るかもしれません。 本当に、一般に、セッションの再開を要求するクライアントがしたがって、サーバはこの要求を受け入れて、それを受け入れるか否かに関係なく、SHOULDが拡張クライアントを送るのを知らない、こんにちは、新しいセッションのために通常そうするなら。 一般に、それぞれの拡大タイプの仕様は新しいセッションと再開しているセッションの間、拡大の効果の議論を含まなければなりません。

Blake-Wilson, et al.        Standards Track                     [Page 7]

RFC 4366                     TLS Extensions                   April 2006

ブレーク-ウィルソン、他 規格はTLS拡大2006年4月にRFC4366を追跡します[7ページ]。

2.4.  Extensions to the Handshake Protocol

2.4. 握手プロトコルへの拡大

   This document suggests the use of two new handshake messages,
   "CertificateURL" and "CertificateStatus".  These messages are
   described in Section 3.3 and Section 3.6, respectively.  The new
   handshake message structure therefore becomes:

このドキュメントは2新しい握手メッセージ、"CertificateURL"、および「CertificateStatus」の使用を示します。 これらのメッセージはセクション3.3とセクション3.6でそれぞれ説明されます。 したがって、新しい握手メッセージ構造はなります:

      enum {
          hello_request(0), client_hello(1), server_hello(2),
          certificate(11), server_key_exchange (12),
          certificate_request(13), server_hello_done(14),
          certificate_verify(15), client_key_exchange(16),
          finished(20), certificate_url(21), certificate_status(22),
          (255)
      } HandshakeType;

enum、こんにちは、_要求(0)、クライアント_、こんにちは、(1)、サーバ_、こんにちは、(2) 証明書(11)、サーバの_の主要な_交換(12)が_要求(13)、サーバ_を証明する、こんにちは、(14)、証明書_が行われた_が(15)、クライアントの_の主要な_交換(16)、終わっている(20)、証明書_url(21)、証明書_状態(22)、(255)について確かめる、HandshakeType。

      struct {
          HandshakeType msg_type;    /* handshake type */
          uint24 length;             /* bytes in message */
          select (HandshakeType) {
              case hello_request:       HelloRequest;
              case client_hello:        ClientHello;
              case server_hello:        ServerHello;
              case certificate:         Certificate;
              case server_key_exchange: ServerKeyExchange;
              case certificate_request: CertificateRequest;
              case server_hello_done:   ServerHelloDone;
              case certificate_verify:  CertificateVerify;
              case client_key_exchange: ClientKeyExchange;
              case finished:            Finished;
              case certificate_url:     CertificateURL;
              case certificate_status:  CertificateStatus;
          } body;
      } Handshake;

struct; HandshakeType msg_タイプ; /*握手タイプ*/uint24の長さ; /*バイトは中で*/選んだ(HandshakeType)を通信させます; 握手。

3.  Specific Extensions

3. 特定の拡大

   This section describes the specific TLS extensions specified in this
   document.

このセクションは本書では指定された特定のTLS拡張子について説明します。

   Note that any messages associated with these extensions that are sent
   during the TLS handshake MUST be included in the hash calculations
   involved in "Finished" messages.

「終わっている」メッセージにかかわるハッシュ計算にTLS握手の間に送られるこれらの拡大に関連しているどんなメッセージも含まなければならないことに注意してください。

   Note also that all the extensions defined in this section are
   relevant only when a session is initiated.  When a client includes
   one or more of the defined extension types in an extended client
   hello while requesting session resumption:

また、セッションが開始されるときだけ、このセクションで定義されたすべての拡大が関連していることに注意してください。 クライアントがいつ、1つを入れるか、そして、一層の定義された拡大が、セッション再開を要求している間、こんにちはを拡張クライアントにタイプします:

Blake-Wilson, et al.        Standards Track                     [Page 8]

RFC 4366                     TLS Extensions                   April 2006

ブレーク-ウィルソン、他 規格はTLS拡大2006年4月にRFC4366を追跡します[8ページ]。

   -  If the resumption request is denied, the use of the extensions is
      negotiated as normal.

- 再開要求が否定されるなら、拡張子の使用は標準として交渉されます。

   -  If, on the other hand, the older session is resumed, then the
      server MUST ignore the extensions and send a server hello
      containing none of the extension types.  In this case, the
      functionality of these extensions negotiated during the original
      session initiation is applied to the resumed session.

- 他方では、より古いセッションが再開されるなら、サーバは、拡大を無視して、こんにちは、拡大タイプの含んでいないだれでもサーバに行かなければなりません。 この場合、オリジナルのセッション開始の間に交渉されたこれらの拡大の機能性は再開しているセッションに適用されます。

   Section 3.1 describes the extension of TLS to allow a client to
   indicate which server it is contacting.  Section 3.2 describes the
   extension that provides maximum fragment length negotiation.  Section
   3.3 describes the extension that allows client certificate URLs.
   Section 3.4 describes the extension that allows a client to indicate
   which CA root keys it possesses.  Section 3.5 describes the extension
   that allows the use of truncated HMAC.  Section 3.6 describes the
   extension that supports integration of certificate status information
   messages into TLS handshakes.

セクション3.1は、クライアントが、それがどのサーバに連絡しているかを示すのを許容するためにTLSの拡大について説明します。 セクション3.2は最大の断片長さの交渉を提供する拡大について説明します。 セクション3.3は証明書URLをクライアントに許容する拡大について説明します。 セクション3.4はクライアントが、それがどのカリフォルニアルートキーを所有しているかを示すことができる拡大について説明します。 セクション3.5は端が欠けているHMACの使用を許す拡大について説明します。 セクション3.6は証明書状態情報メッセージの統合をTLS握手にサポートする拡大について説明します。

3.1.  Server Name Indication

3.1. サーバー名指示

   TLS does not provide a mechanism for a client to tell a server the
   name of the server it is contacting.  It may be desirable for clients
   to provide this information to facilitate secure connections to
   servers that host multiple 'virtual' servers at a single underlying
   network address.

クライアントがそれが連絡しているサーバの名前をサーバに言うように、TLSはメカニズムを提供しません。 クライアントがただ一つの基本的なネットワーク・アドレスの複数の'仮想'のサーバをホスティングするサーバに安全な接続を容易にするためにこの情報を提供するのは、望ましいかもしれません。

   In order to provide the server name, clients MAY include an extension
   of type "server_name" in the (extended) client hello.  The
   "extension_data" field of this extension SHALL contain
   "ServerNameList" where:

クライアントは、サーバー名を提供するために(広げられる)のクライアントでのタイプ「サーバ_名前」の拡大を入れるかもしれません。こんにちは。 この拡大SHALLの「拡大_データ」分野が"ServerNameList"を含んでいる、どこ:

      struct {
          NameType name_type;
          select (name_type) {
              case host_name: HostName;
          } name;
      } ServerName;

struct、NameTypeは_をタイプと命名します;、選ぶ、(名前_タイプ) ホスト_名前をケースに入れてください: HostName、名前;、ServerName。

      enum {
          host_name(0), (255)
      } NameType;

enumに_名前(0)、(255)を接待してください、NameType。

      opaque HostName<1..2^16-1>;

HostName<1について不透明にしてください。2^16-1>。

      struct {
          ServerName server_name_list<1..2^16-1>
      } ServerNameList;

struct ServerNameサーバ_名前_リスト<1..2^16-1>、ServerNameList。

Blake-Wilson, et al.        Standards Track                     [Page 9]

RFC 4366                     TLS Extensions                   April 2006

ブレーク-ウィルソン、他 規格はTLS拡大2006年4月にRFC4366を追跡します[9ページ]。

   Currently, the only server names supported are DNS hostnames;
   however, this does not imply any dependency of TLS on DNS, and other
   name types may be added in the future (by an RFC that updates this
   document).  TLS MAY treat provided server names as opaque data and
   pass the names and types to the application.

現在、サポートされた唯一のサーバー名がDNSホスト名です。 しかしながら、これはDNSにおけるTLSの少しの依存も含意しません、そして、他の名前タイプは将来(このドキュメントをアップデートするRFC)、加えられるかもしれません。 TLS MAYは不明瞭なデータとして提供されたサーバー名を扱って、名前とタイプをアプリケーションに通過します。

   "HostName" contains the fully qualified DNS hostname of the server,
   as understood by the client.  The hostname is represented as a byte
   string using UTF-8 encoding [UTF8], without a trailing dot.

"HostName"はクライアントに解釈されるようにサーバの完全に適切なDNSホスト名を含んでいます。 ホスト名は、バイトストリングとして引きずっているドットなしで[UTF8]をコード化するUTF-8を使用することで表されます。

   If the hostname labels contain only US-ASCII characters, then the
   client MUST ensure that labels are separated only by the byte 0x2E,
   representing the dot character U+002E (requirement 1 in Section 3.1
   of [IDNA] notwithstanding).  If the server needs to match the
   HostName against names that contain non-US-ASCII characters, it MUST
   perform the conversion operation described in Section 4 of [IDNA],
   treating the HostName as a "query string" (i.e., the AllowUnassigned
   flag MUST be set).  Note that IDNA allows labels to be separated by
   any of the Unicode characters U+002E, U+3002, U+FF0E, and U+FF61;
   therefore, servers MUST accept any of these characters as a label
   separator.  If the server only needs to match the HostName against
   names containing exclusively ASCII characters, it MUST compare ASCII
   names case-insensitively.

ホスト名ラベルが米国-ASCII文字だけを含むなら、クライアントは、ラベルが単にバイト0x2Eによって分離されるのを保証しなければなりません、ドットをキャラクタU+002E([IDNA]のセクション3.1における要件1にもかかわらず)表して。 サーバが、非米国のASCII文字を含む名前に対してHostNameを合わせる必要があるなら、[IDNA]のセクション4で説明された変換操作を実行しなければなりません、「質問ストリング」としてHostNameを扱って(すなわち、AllowUnassigned旗を設定しなければなりません)。 IDNAがラベルをユニコード文字のU+002E、U+3002、U+FF0E、およびU+FF61のどれかを分離させることに注意してください。 したがって、サーバはラベル分離符としてこれらのキャラクタのいずれも認めなければなりません。 サーバが、排他的にASCII文字を含む名前に対してHostNameを合わせる必要があるだけであるなら、それは無神経なASCII名前ケースを比較しなければなりません。

   Literal IPv4 and IPv6 addresses are not permitted in "HostName".

文字通りのIPv4とIPv6アドレスは「ホスト名」で受入れられません。

   It is RECOMMENDED that clients include an extension of type
   "server_name" in the client hello whenever they locate a server by a
   supported name type.

クライアントがクライアントでのタイプ「サーバ_名前」の拡大を入れるのが、RECOMMENDEDである、こんにちは、彼らがサポートしている名前のサーバの場所を見つけるときはいつも、タイプしてください。

   A server that receives a client hello containing the "server_name"
   extension MAY use the information contained in the extension to guide
   its selection of an appropriate certificate to return to the client,
   and/or other aspects of security policy.  In this event, the server
   SHALL include an extension of type "server_name" in the (extended)
   server hello.  The "extension_data" field of this extension SHALL be
   empty.

こんにちは、拡大という「サーバ_名前」含んでいる5月がクライアントに返すのに適切な証明書の選択を誘導するために拡大に含まれた情報を使用するクライアントを受けるサーバ、そして/または、安全保障政策の他の局面。 このイベントでは、サーバSHALLは(広げられる)のサーバにおける、タイプ「サーバ_名前」の拡大を含んでいます。こんにちは。 この拡大SHALLの「拡大_データ」分野、空であってください。

   If the server understood the client hello extension but does not
   recognize the server name, it SHOULD send an "unrecognized_name"
   alert (which MAY be fatal).

サーバー名を認識してください、それ。しかし、サーバがクライアントを理解していた、こんにちは、拡大、SHOULDは「認識されていない_名」警戒(致命的であるかもしれない)を送ります。

   If an application negotiates a server name using an application
   protocol and then upgrades to TLS, and if a server_name extension is
   sent, then the extension SHOULD contain the same name that was
   negotiated in the application protocol.  If the server_name is
   established in the TLS session handshake, the client SHOULD NOT
   attempt to request a different server name at the application layer.

アプリケーションがTLSにアプリケーション・プロトコルを使用して、次に、アップグレードを使用することでサーバー名を交渉して、サーバ_名前拡大を送るなら、拡大SHOULDはアプリケーション・プロトコルで交渉されたのと同じ名前を含んでいます。 サーバ_名前がTLSセッション握手に確立されるなら、クライアントSHOULD NOTは、応用層で異なったサーバー名を要求するのを試みます。

Blake-Wilson, et al.        Standards Track                    [Page 10]

RFC 4366                     TLS Extensions                   April 2006

ブレーク-ウィルソン、他 規格はTLS拡大2006年4月にRFC4366を追跡します[10ページ]。

3.2.  Maximum Fragment Length Negotiation

3.2. 最大の断片長さの交渉

   Without this extension, TLS specifies a fixed maximum plaintext
   fragment length of 2^14 bytes.  It may be desirable for constrained
   clients to negotiate a smaller maximum fragment length due to memory
   limitations or bandwidth limitations.

この拡大がなければ、TLSは最大2^14バイトの固定平文断片の長さを指定します。 強制的なクライアントがメモリ制限か帯域幅制限のためよりわずかな最大の断片の長さを交渉するのは、望ましいかもしれません。

   In order to negotiate smaller maximum fragment lengths, clients MAY
   include an extension of type "max_fragment_length" in the (extended)
   client hello.  The "extension_data" field of this extension SHALL
   contain:

クライアントは、よりわずかな最大の断片の長さを交渉するために(広げられる)のクライアントでのタイプ「最大_断片_の長さ」の拡大を入れるかもしれません。こんにちは。 SHALLが含むこの拡大の「拡大_データ」分野:

   enum{
       2^9(1), 2^10(2), 2^11(3), 2^12(4), (255)
   } MaxFragmentLength;

2^9(1)、2^10(2)、2^11(3)、2^12(4)、(255)をenumする、MaxFragmentLength。

   whose value is the desired maximum fragment length.  The allowed
   values for this field are: 2^9, 2^10, 2^11, and 2^12.

値は必要な最大の断片の長さです。 この分野への許容値は以下の通りです。 2^9、2^10、2^11、および2^12。

   Servers that receive an extended client hello containing a
   "max_fragment_length" extension MAY accept the requested maximum
   fragment length by including an extension of type
   "max_fragment_length" in the (extended) server hello.  The
   "extension_data" field of this extension SHALL contain a
   "MaxFragmentLength" whose value is the same as the requested maximum
   fragment length.

「最大_断片_の長さ」拡大を含んでいると、(広げられる)のサーバにおける、タイプ「最大_断片_の長さ」の拡大を含んでいることによって、要求された最大の断片の長さを受け入れるかもしれません。拡張クライアントを受けるサーバ、こんにちは、こんにちは。 この拡大SHALLの「拡大_データ」分野は値が要求された最大の断片の長さと同じである"MaxFragmentLength"を含んでいます。

   If a server receives a maximum fragment length negotiation request
   for a value other than the allowed values, it MUST abort the
   handshake with an "illegal_parameter" alert.  Similarly, if a client
   receives a maximum fragment length negotiation response that differs
   from the length it requested, it MUST also abort the handshake with
   an "illegal_parameter" alert.

If a server receives a maximum fragment length negotiation request for a value other than the allowed values, it MUST abort the handshake with an "illegal_parameter" alert. Similarly, if a client receives a maximum fragment length negotiation response that differs from the length it requested, it MUST also abort the handshake with an "illegal_parameter" alert.

   Once a maximum fragment length other than 2^14 has been successfully
   negotiated, the client and server MUST immediately begin fragmenting
   messages (including handshake messages), to ensure that no fragment
   larger than the negotiated length is sent.  Note that TLS already
   requires clients and servers to support fragmentation of handshake
   messages.

Once a maximum fragment length other than 2^14 has been successfully negotiated, the client and server MUST immediately begin fragmenting messages (including handshake messages), to ensure that no fragment larger than the negotiated length is sent. Note that TLS already requires clients and servers to support fragmentation of handshake messages.

   The negotiated length applies for the duration of the session
   including session resumptions.

The negotiated length applies for the duration of the session including session resumptions.

   The negotiated length limits the input that the record layer may
   process without fragmentation (that is, the maximum value of
   TLSPlaintext.length; see [TLS], Section 6.2.1).  Note that the output
   of the record layer may be larger.  For example, if the negotiated

The negotiated length limits the input that the record layer may process without fragmentation (that is, the maximum value of TLSPlaintext.length; see [TLS], Section 6.2.1). Note that the output of the record layer may be larger. For example, if the negotiated

Blake-Wilson, et al.        Standards Track                    [Page 11]

RFC 4366                     TLS Extensions                   April 2006

Blake-Wilson, et al. Standards Track [Page 11] RFC 4366 TLS Extensions April 2006

   length is 2^9=512, then for currently defined cipher suites (those
   defined in [TLS], [KERB], and [AESSUITES]), and when null compression
   is used, the record layer output can be at most 793 bytes: 5 bytes of
   headers, 512 bytes of application data, 256 bytes of padding, and 20
   bytes of MAC.  This means that in this event a TLS record layer peer
   receiving a TLS record layer message larger than 793 bytes may
   discard the message and send a "record_overflow" alert, without
   decrypting the message.

length is 2^9=512, then for currently defined cipher suites (those defined in [TLS], [KERB], and [AESSUITES]), and when null compression is used, the record layer output can be at most 793 bytes: 5 bytes of headers, 512 bytes of application data, 256 bytes of padding, and 20 bytes of MAC. This means that in this event a TLS record layer peer receiving a TLS record layer message larger than 793 bytes may discard the message and send a "record_overflow" alert, without decrypting the message.

3.3.  Client Certificate URLs

3.3. Client Certificate URLs

   Without this extension, TLS specifies that when client authentication
   is performed, client certificates are sent by clients to servers
   during the TLS handshake.  It may be desirable for constrained
   clients to send certificate URLs in place of certificates, so that
   they do not need to store their certificates and can therefore save
   memory.

Without this extension, TLS specifies that when client authentication is performed, client certificates are sent by clients to servers during the TLS handshake. It may be desirable for constrained clients to send certificate URLs in place of certificates, so that they do not need to store their certificates and can therefore save memory.

   In order to negotiate sending certificate URLs to a server, clients
   MAY include an extension of type "client_certificate_url" in the
   (extended) client hello.  The "extension_data" field of this
   extension SHALL be empty.

In order to negotiate sending certificate URLs to a server, clients MAY include an extension of type "client_certificate_url" in the (extended) client hello. The "extension_data" field of this extension SHALL be empty.

   (Note that it is necessary to negotiate use of client certificate
   URLs in order to avoid "breaking" existing TLS servers.)

(Note that it is necessary to negotiate use of client certificate URLs in order to avoid "breaking" existing TLS servers.)

   Servers that receive an extended client hello containing a
   "client_certificate_url" extension MAY indicate that they are willing
   to accept certificate URLs by including an extension of type
   "client_certificate_url" in the (extended) server hello.  The
   "extension_data" field of this extension SHALL be empty.

Servers that receive an extended client hello containing a "client_certificate_url" extension MAY indicate that they are willing to accept certificate URLs by including an extension of type "client_certificate_url" in the (extended) server hello. The "extension_data" field of this extension SHALL be empty.

   After negotiation of the use of client certificate URLs has been
   successfully completed (by exchanging hellos including
   "client_certificate_url" extensions), clients MAY send a
   "CertificateURL" message in place of a "Certificate" message:

After negotiation of the use of client certificate URLs has been successfully completed (by exchanging hellos including "client_certificate_url" extensions), clients MAY send a "CertificateURL" message in place of a "Certificate" message:

      enum {
          individual_certs(0), pkipath(1), (255)
      } CertChainType;

enum { individual_certs(0), pkipath(1), (255) } CertChainType;

      enum {
          false(0), true(1)
      } Boolean;

enum { false(0), true(1) } Boolean;

Blake-Wilson, et al.        Standards Track                    [Page 12]

RFC 4366                     TLS Extensions                   April 2006

Blake-Wilson, et al. Standards Track [Page 12] RFC 4366 TLS Extensions April 2006

      struct {
          CertChainType type;
          URLAndOptionalHash url_and_hash_list<1..2^16-1>;
      } CertificateURL;

struct { CertChainType type; URLAndOptionalHash url_and_hash_list<1..2^16-1>; } CertificateURL;

      struct {
          opaque url<1..2^16-1>;
          Boolean hash_present;
          select (hash_present) {
              case false: struct {};
              case true: SHA1Hash;
          } hash;
      } URLAndOptionalHash;

struct { opaque url<1..2^16-1>; Boolean hash_present; select (hash_present) { case false: struct {}; case true: SHA1Hash; } hash; } URLAndOptionalHash;

      opaque SHA1Hash[20];

opaque SHA1Hash[20];

   Here "url_and_hash_list" contains a sequence of URLs and optional
   hashes.

Here "url_and_hash_list" contains a sequence of URLs and optional hashes.

   When X.509 certificates are used, there are two possibilities:

When X.509 certificates are used, there are two possibilities:

   -  If CertificateURL.type is "individual_certs", each URL refers to a
      single DER-encoded X.509v3 certificate, with the URL for the
      client's certificate first.

- If CertificateURL.type is "individual_certs", each URL refers to a single DER-encoded X.509v3 certificate, with the URL for the client's certificate first.

   -  If CertificateURL.type is "pkipath", the list contains a single
      URL referring to a DER-encoded certificate chain, using the type
      PkiPath described in Section 8.

- If CertificateURL.type is "pkipath", the list contains a single URL referring to a DER-encoded certificate chain, using the type PkiPath described in Section 8.

   When any other certificate format is used, the specification that
   describes use of that format in TLS should define the encoding format
   of certificates or certificate chains, and any constraint on their
   ordering.

When any other certificate format is used, the specification that describes use of that format in TLS should define the encoding format of certificates or certificate chains, and any constraint on their ordering.

   The hash corresponding to each URL at the client's discretion either
   is not present or is the SHA-1 hash of the certificate or certificate
   chain (in the case of X.509 certificates, the DER-encoded certificate
   or the DER-encoded PkiPath).

The hash corresponding to each URL at the client's discretion either is not present or is the SHA-1 hash of the certificate or certificate chain (in the case of X.509 certificates, the DER-encoded certificate or the DER-encoded PkiPath).

   Note that when a list of URLs for X.509 certificates is used, the
   ordering of URLs is the same as that used in the TLS Certificate
   message (see [TLS], Section 7.4.2), but opposite to the order in
   which certificates are encoded in PkiPath.  In either case, the
   self-signed root certificate MAY be omitted from the chain, under the
   assumption that the server must already possess it in order to
   validate it.

Note that when a list of URLs for X.509 certificates is used, the ordering of URLs is the same as that used in the TLS Certificate message (see [TLS], Section 7.4.2), but opposite to the order in which certificates are encoded in PkiPath. In either case, the self-signed root certificate MAY be omitted from the chain, under the assumption that the server must already possess it in order to validate it.

Blake-Wilson, et al.        Standards Track                    [Page 13]

RFC 4366                     TLS Extensions                   April 2006

Blake-Wilson, et al. Standards Track [Page 13] RFC 4366 TLS Extensions April 2006

   Servers receiving "CertificateURL" SHALL attempt to retrieve the
   client's certificate chain from the URLs and then process the
   certificate chain as usual.  A cached copy of the content of any URL
   in the chain MAY be used, provided that a SHA-1 hash is present for
   that URL and it matches the hash of the cached copy.

Servers receiving "CertificateURL" SHALL attempt to retrieve the client's certificate chain from the URLs and then process the certificate chain as usual. A cached copy of the content of any URL in the chain MAY be used, provided that a SHA-1 hash is present for that URL and it matches the hash of the cached copy.

   Servers that support this extension MUST support the http: URL scheme
   for certificate URLs, and MAY support other schemes.  Use of other
   schemes than "http", "https", or "ftp" may create unexpected
   problems.

Servers that support this extension MUST support the http: URL scheme for certificate URLs, and MAY support other schemes. Use of other schemes than "http", "https", or "ftp" may create unexpected problems.

   If the protocol used is HTTP, then the HTTP server can be configured
   to use the Cache-Control and Expires directives described in [HTTP]
   to specify whether and for how long certificates or certificate
   chains should be cached.

If the protocol used is HTTP, then the HTTP server can be configured to use the Cache-Control and Expires directives described in [HTTP] to specify whether and for how long certificates or certificate chains should be cached.

   The TLS server is not required to follow HTTP redirects when
   retrieving the certificates or certificate chain.  The URLs used in
   this extension SHOULD therefore be chosen not to depend on such
   redirects.

The TLS server is not required to follow HTTP redirects when retrieving the certificates or certificate chain. The URLs used in this extension SHOULD therefore be chosen not to depend on such redirects.

   If the protocol used to retrieve certificates or certificate chains
   returns a MIME-formatted response (as HTTP does), then the following
   MIME Content-Types SHALL be used: when a single X.509v3 certificate
   is returned, the Content-Type is "application/pkix-cert" [PKIOP], and
   when a chain of X.509v3 certificates is returned, the Content-Type is
   "application/pkix-pkipath" (see Section 8).

If the protocol used to retrieve certificates or certificate chains returns a MIME-formatted response (as HTTP does), then the following MIME Content-Types SHALL be used: when a single X.509v3 certificate is returned, the Content-Type is "application/pkix-cert" [PKIOP], and when a chain of X.509v3 certificates is returned, the Content-Type is "application/pkix-pkipath" (see Section 8).

   If a SHA-1 hash is present for an URL, then the server MUST check
   that the SHA-1 hash of the contents of the object retrieved from that
   URL (after decoding any MIME Content-Transfer-Encoding) matches the
   given hash.  If any retrieved object does not have the correct SHA-1
   hash, the server MUST abort the handshake with a
   "bad_certificate_hash_value" alert.

If a SHA-1 hash is present for an URL, then the server MUST check that the SHA-1 hash of the contents of the object retrieved from that URL (after decoding any MIME Content-Transfer-Encoding) matches the given hash. If any retrieved object does not have the correct SHA-1 hash, the server MUST abort the handshake with a "bad_certificate_hash_value" alert.

   Note that clients may choose to send either "Certificate" or
   "CertificateURL" after successfully negotiating the option to send
   certificate URLs.  The option to send a certificate is included to
   provide flexibility to clients possessing multiple certificates.

Note that clients may choose to send either "Certificate" or "CertificateURL" after successfully negotiating the option to send certificate URLs. The option to send a certificate is included to provide flexibility to clients possessing multiple certificates.

   If a server encounters an unreasonable delay in obtaining
   certificates in a given CertificateURL, it SHOULD time out and signal
   a "certificate_unobtainable" error alert.

If a server encounters an unreasonable delay in obtaining certificates in a given CertificateURL, it SHOULD time out and signal a "certificate_unobtainable" error alert.

Blake-Wilson, et al.        Standards Track                    [Page 14]

RFC 4366                     TLS Extensions                   April 2006

Blake-Wilson, et al. Standards Track [Page 14] RFC 4366 TLS Extensions April 2006

3.4.  Trusted CA Indication

3.4. Trusted CA Indication

   Constrained clients that, due to memory limitations, possess only a
   small number of CA root keys may wish to indicate to servers which
   root keys they possess, in order to avoid repeated handshake
   failures.

Constrained clients that, due to memory limitations, possess only a small number of CA root keys may wish to indicate to servers which root keys they possess, in order to avoid repeated handshake failures.

   In order to indicate which CA root keys they possess, clients MAY
   include an extension of type "trusted_ca_keys" in the (extended)
   client hello.  The "extension_data" field of this extension SHALL
   contain "TrustedAuthorities" where:

In order to indicate which CA root keys they possess, clients MAY include an extension of type "trusted_ca_keys" in the (extended) client hello. The "extension_data" field of this extension SHALL contain "TrustedAuthorities" where:

      struct {
          TrustedAuthority trusted_authorities_list<0..2^16-1>;
      } TrustedAuthorities;

struct { TrustedAuthority trusted_authorities_list<0..2^16-1>; } TrustedAuthorities;

      struct {
          IdentifierType identifier_type;
          select (identifier_type) {
              case pre_agreed: struct {};
              case key_sha1_hash: SHA1Hash;
              case x509_name: DistinguishedName;
              case cert_sha1_hash: SHA1Hash;
          } identifier;
      } TrustedAuthority;

struct { IdentifierType identifier_type; select (identifier_type) { case pre_agreed: struct {}; case key_sha1_hash: SHA1Hash; case x509_name: DistinguishedName; case cert_sha1_hash: SHA1Hash; } identifier; } TrustedAuthority;

      enum {
          pre_agreed(0), key_sha1_hash(1), x509_name(2),
          cert_sha1_hash(3), (255)
      } IdentifierType;

enum { pre_agreed(0), key_sha1_hash(1), x509_name(2), cert_sha1_hash(3), (255) } IdentifierType;

      opaque DistinguishedName<1..2^16-1>;

opaque DistinguishedName<1..2^16-1>;

   Here "TrustedAuthorities" provides a list of CA root key identifiers
   that the client possesses.  Each CA root key is identified via
   either:

Here "TrustedAuthorities" provides a list of CA root key identifiers that the client possesses. Each CA root key is identified via either:

   -  "pre_agreed": no CA root key identity supplied.

- "pre_agreed": no CA root key identity supplied.

   -  "key_sha1_hash": contains the SHA-1 hash of the CA root key.  For
      Digital Signature Algorithm (DSA) and Elliptic Curve Digital
      Signature Algorithm (ECDSA) keys, this is the hash of the
      "subjectPublicKey" value.  For RSA keys, the hash is of the big-
      endian byte string representation of the modulus without any
      initial 0-valued bytes.  (This copies the key hash formats
      deployed in other environments.)

- "key_sha1_hash": contains the SHA-1 hash of the CA root key. For Digital Signature Algorithm (DSA) and Elliptic Curve Digital Signature Algorithm (ECDSA) keys, this is the hash of the "subjectPublicKey" value. For RSA keys, the hash is of the big- endian byte string representation of the modulus without any initial 0-valued bytes. (This copies the key hash formats deployed in other environments.)

Blake-Wilson, et al.        Standards Track                    [Page 15]

RFC 4366                     TLS Extensions                   April 2006

Blake-Wilson, et al. Standards Track [Page 15] RFC 4366 TLS Extensions April 2006

   -  "x509_name": contains the DER-encoded X.509 DistinguishedName of
      the CA.

- "x509_name": contains the DER-encoded X.509 DistinguishedName of the CA.

   -  "cert_sha1_hash": contains the SHA-1 hash of a DER-encoded
      Certificate containing the CA root key.

- "cert_sha1_hash": contains the SHA-1 hash of a DER-encoded Certificate containing the CA root key.

   Note that clients may include none, some, or all of the CA root keys
   they possess in this extension.

Note that clients may include none, some, or all of the CA root keys they possess in this extension.

   Note also that it is possible that a key hash or a Distinguished Name
   alone may not uniquely identify a certificate issuer (for example, if
   a particular CA has multiple key pairs).  However, here we assume
   this is the case following the use of Distinguished Names to identify
   certificate issuers in TLS.

Note also that it is possible that a key hash or a Distinguished Name alone may not uniquely identify a certificate issuer (for example, if a particular CA has multiple key pairs). However, here we assume this is the case following the use of Distinguished Names to identify certificate issuers in TLS.

   The option to include no CA root keys is included to allow the client
   to indicate possession of some pre-defined set of CA root keys.

The option to include no CA root keys is included to allow the client to indicate possession of some pre-defined set of CA root keys.

   Servers that receive a client hello containing the "trusted_ca_keys"
   extension MAY use the information contained in the extension to guide
   their selection of an appropriate certificate chain to return to the
   client.  In this event, the server SHALL include an extension of type
   "trusted_ca_keys" in the (extended) server hello.  The
   "extension_data" field of this extension SHALL be empty.

Servers that receive a client hello containing the "trusted_ca_keys" extension MAY use the information contained in the extension to guide their selection of an appropriate certificate chain to return to the client. In this event, the server SHALL include an extension of type "trusted_ca_keys" in the (extended) server hello. The "extension_data" field of this extension SHALL be empty.

3.5.  Truncated HMAC

3.5. Truncated HMAC

   Currently defined TLS cipher suites use the MAC construction HMAC
   with either MD5 or SHA-1 [HMAC] to authenticate record layer
   communications.  In TLS, the entire output of the hash function is
   used as the MAC tag.  However, it may be desirable in constrained
   environments to save bandwidth by truncating the output of the hash
   function to 80 bits when forming MAC tags.

Currently defined TLS cipher suites use the MAC construction HMAC with either MD5 or SHA-1 [HMAC] to authenticate record layer communications. In TLS, the entire output of the hash function is used as the MAC tag. However, it may be desirable in constrained environments to save bandwidth by truncating the output of the hash function to 80 bits when forming MAC tags.

   In order to negotiate the use of 80-bit truncated HMAC, clients MAY
   include an extension of type "truncated_hmac" in the extended client
   hello.  The "extension_data" field of this extension SHALL be empty.

In order to negotiate the use of 80-bit truncated HMAC, clients MAY include an extension of type "truncated_hmac" in the extended client hello. The "extension_data" field of this extension SHALL be empty.

   Servers that receive an extended hello containing a "truncated_hmac"
   extension MAY agree to use a truncated HMAC by including an extension
   of type "truncated_hmac", with empty "extension_data", in the
   extended server hello.

Servers that receive an extended hello containing a "truncated_hmac" extension MAY agree to use a truncated HMAC by including an extension of type "truncated_hmac", with empty "extension_data", in the extended server hello.

   Note that if new cipher suites are added that do not use HMAC, and
   the session negotiates one of these cipher suites, this extension
   will have no effect.  It is strongly recommended that any new cipher

Note that if new cipher suites are added that do not use HMAC, and the session negotiates one of these cipher suites, this extension will have no effect. It is strongly recommended that any new cipher

Blake-Wilson, et al.        Standards Track                    [Page 16]

RFC 4366                     TLS Extensions                   April 2006

Blake-Wilson, et al. Standards Track [Page 16] RFC 4366 TLS Extensions April 2006

   suites using other MACs consider the MAC size an integral part of the
   cipher suite definition, taking into account both security and
   bandwidth considerations.

suites using other MACs consider the MAC size an integral part of the cipher suite definition, taking into account both security and bandwidth considerations.

   If HMAC truncation has been successfully negotiated during a TLS
   handshake, and the negotiated cipher suite uses HMAC, both the client
   and the server pass this fact to the TLS record layer along with the
   other negotiated security parameters.  Subsequently during the
   session, clients and servers MUST use truncated HMACs, calculated as
   specified in [HMAC].  That is, CipherSpec.hash_size is 10 bytes, and
   only the first 10 bytes of the HMAC output are transmitted and
   checked.  Note that this extension does not affect the calculation of
   the pseudo-random function (PRF) as part of handshaking or key
   derivation.

If HMAC truncation has been successfully negotiated during a TLS handshake, and the negotiated cipher suite uses HMAC, both the client and the server pass this fact to the TLS record layer along with the other negotiated security parameters. Subsequently during the session, clients and servers MUST use truncated HMACs, calculated as specified in [HMAC]. That is, CipherSpec.hash_size is 10 bytes, and only the first 10 bytes of the HMAC output are transmitted and checked. Note that this extension does not affect the calculation of the pseudo-random function (PRF) as part of handshaking or key derivation.

   The negotiated HMAC truncation size applies for the duration of the
   session including session resumptions.

The negotiated HMAC truncation size applies for the duration of the session including session resumptions.

3.6.  Certificate Status Request

3.6. Certificate Status Request

   Constrained clients may wish to use a certificate-status protocol
   such as OCSP [OCSP] to check the validity of server certificates, in
   order to avoid transmission of CRLs and therefore save bandwidth on
   constrained networks.  This extension allows for such information to
   be sent in the TLS handshake, saving roundtrips and resources.

Constrained clients may wish to use a certificate-status protocol such as OCSP [OCSP] to check the validity of server certificates, in order to avoid transmission of CRLs and therefore save bandwidth on constrained networks. This extension allows for such information to be sent in the TLS handshake, saving roundtrips and resources.

   In order to indicate their desire to receive certificate status
   information, clients MAY include an extension of type
   "status_request" in the (extended) client hello.  The
   "extension_data" field of this extension SHALL contain
   "CertificateStatusRequest" where:

In order to indicate their desire to receive certificate status information, clients MAY include an extension of type "status_request" in the (extended) client hello. The "extension_data" field of this extension SHALL contain "CertificateStatusRequest" where:

      struct {
          CertificateStatusType status_type;
          select (status_type) {
              case ocsp: OCSPStatusRequest;
          } request;
      } CertificateStatusRequest;

struct { CertificateStatusType status_type; select (status_type) { case ocsp: OCSPStatusRequest; } request; } CertificateStatusRequest;

      enum { ocsp(1), (255) } CertificateStatusType;

enum { ocsp(1), (255) } CertificateStatusType;

      struct {
          ResponderID responder_id_list<0..2^16-1>;
          Extensions  request_extensions;
      } OCSPStatusRequest;

struct { ResponderID responder_id_list<0..2^16-1>; Extensions request_extensions; } OCSPStatusRequest;

      opaque ResponderID<1..2^16-1>;
      opaque Extensions<0..2^16-1>;

opaque ResponderID<1..2^16-1>; opaque Extensions<0..2^16-1>;

Blake-Wilson, et al.        Standards Track                    [Page 17]

RFC 4366                     TLS Extensions                   April 2006

Blake-Wilson, et al. Standards Track [Page 17] RFC 4366 TLS Extensions April 2006

   In the OCSPStatusRequest, the "ResponderIDs" provides a list of OCSP
   responders that the client trusts.  A zero-length "responder_id_list"
   sequence has the special meaning that the responders are implicitly
   known to the server, e.g., by prior arrangement.  "Extensions" is a
   DER encoding of OCSP request extensions.

In the OCSPStatusRequest, the "ResponderIDs" provides a list of OCSP responders that the client trusts. A zero-length "responder_id_list" sequence has the special meaning that the responders are implicitly known to the server, e.g., by prior arrangement. "Extensions" is a DER encoding of OCSP request extensions.

   Both "ResponderID" and "Extensions" are DER-encoded ASN.1 types as
   defined in [OCSP].  "Extensions" is imported from [PKIX].  A zero-
   length "request_extensions" value means that there are no extensions
   (as opposed to a zero-length ASN.1 SEQUENCE, which is not valid for
   the "Extensions" type).

Both "ResponderID" and "Extensions" are DER-encoded ASN.1 types as defined in [OCSP]. "Extensions" is imported from [PKIX]. A zero- length "request_extensions" value means that there are no extensions (as opposed to a zero-length ASN.1 SEQUENCE, which is not valid for the "Extensions" type).

   In the case of the "id-pkix-ocsp-nonce" OCSP extension, [OCSP] is
   unclear about its encoding; for clarification, the nonce MUST be a
   DER-encoded OCTET STRING, which is encapsulated as another OCTET
   STRING (note that implementations based on an existing OCSP client
   will need to be checked for conformance to this requirement).

In the case of the "id-pkix-ocsp-nonce" OCSP extension, [OCSP] is unclear about its encoding; for clarification, the nonce MUST be a DER-encoded OCTET STRING, which is encapsulated as another OCTET STRING (note that implementations based on an existing OCSP client will need to be checked for conformance to this requirement).

   Servers that receive a client hello containing the "status_request"
   extension MAY return a suitable certificate status response to the
   client along with their certificate.  If OCSP is requested, they
   SHOULD use the information contained in the extension when selecting
   an OCSP responder and SHOULD include request_extensions in the OCSP
   request.

Servers that receive a client hello containing the "status_request" extension MAY return a suitable certificate status response to the client along with their certificate. If OCSP is requested, they SHOULD use the information contained in the extension when selecting an OCSP responder and SHOULD include request_extensions in the OCSP request.

   Servers return a certificate response along with their certificate by
   sending a "CertificateStatus" message immediately after the
   "Certificate" message (and before any "ServerKeyExchange" or
   "CertificateRequest" messages).  If a server returns a

Servers return a certificate response along with their certificate by sending a "CertificateStatus" message immediately after the "Certificate" message (and before any "ServerKeyExchange" or "CertificateRequest" messages). If a server returns a

   "CertificateStatus" message, then the server MUST have included an
   extension of type "status_request" with empty "extension_data" in the
   extended server hello.

"CertificateStatus" message, then the server MUST have included an extension of type "status_request" with empty "extension_data" in the extended server hello.

      struct {
          CertificateStatusType status_type;
          select (status_type) {
              case ocsp: OCSPResponse;
          } response;
      } CertificateStatus;

struct { CertificateStatusType status_type; select (status_type) { case ocsp: OCSPResponse; } response; } CertificateStatus;

      opaque OCSPResponse<1..2^24-1>;

opaque OCSPResponse<1..2^24-1>;

   An "ocsp_response" contains a complete, DER-encoded OCSP response
   (using the ASN.1 type OCSPResponse defined in [OCSP]).  Note that
   only one OCSP response may be sent.

An "ocsp_response" contains a complete, DER-encoded OCSP response (using the ASN.1 type OCSPResponse defined in [OCSP]). Note that only one OCSP response may be sent.

Blake-Wilson, et al.        Standards Track                    [Page 18]

RFC 4366                     TLS Extensions                   April 2006

Blake-Wilson, et al. Standards Track [Page 18] RFC 4366 TLS Extensions April 2006

   The "CertificateStatus" message is conveyed using the handshake
   message type "certificate_status".

The "CertificateStatus" message is conveyed using the handshake message type "certificate_status".

   Note that a server MAY also choose not to send a "CertificateStatus"
   message, even if it receives a "status_request" extension in the
   client hello message.

Note that a server MAY also choose not to send a "CertificateStatus" message, even if it receives a "status_request" extension in the client hello message.

   Note in addition that servers MUST NOT send the "CertificateStatus"
   message unless it received a "status_request" extension in the client
   hello message.

Note in addition that servers MUST NOT send the "CertificateStatus" message unless it received a "status_request" extension in the client hello message.

   Clients requesting an OCSP response and receiving an OCSP response in
   a "CertificateStatus" message MUST check the OCSP response and abort
   the handshake if the response is not satisfactory.

Clients requesting an OCSP response and receiving an OCSP response in a "CertificateStatus" message MUST check the OCSP response and abort the handshake if the response is not satisfactory.

4.  Error Alerts

4. Error Alerts

   This section defines new error alerts for use with the TLS extensions
   defined in this document.

This section defines new error alerts for use with the TLS extensions defined in this document.

   The following new error alerts are defined.  To avoid "breaking"
   existing clients and servers, these alerts MUST NOT be sent unless
   the sending party has received an extended hello message from the
   party they are communicating with.

The following new error alerts are defined. To avoid "breaking" existing clients and servers, these alerts MUST NOT be sent unless the sending party has received an extended hello message from the party they are communicating with.

   -  "unsupported_extension": this alert is sent by clients that
      receive an extended server hello containing an extension that they
      did not put in the corresponding client hello (see Section 2.3).
      This message is always fatal.

- "unsupported_extension": this alert is sent by clients that receive an extended server hello containing an extension that they did not put in the corresponding client hello (see Section 2.3). This message is always fatal.

   -  "unrecognized_name": this alert is sent by servers that receive a
      server_name extension request, but do not recognize the server
      name.  This message MAY be fatal.

- "unrecognized_name": this alert is sent by servers that receive a server_name extension request, but do not recognize the server name. This message MAY be fatal.

   -  "certificate_unobtainable": this alert is sent by servers who are
      unable to retrieve a certificate chain from the URL supplied by
      the client (see Section 3.3).  This message MAY be fatal; for
      example, if client authentication is required by the server for
      the handshake to continue and the server is unable to retrieve the
      certificate chain, it may send a fatal alert.

- "certificate_unobtainable": this alert is sent by servers who are unable to retrieve a certificate chain from the URL supplied by the client (see Section 3.3). This message MAY be fatal; for example, if client authentication is required by the server for the handshake to continue and the server is unable to retrieve the certificate chain, it may send a fatal alert.

   -  "bad_certificate_status_response": this alert is sent by clients
      that receive an invalid certificate status response (see Section
      3.6).  This message is always fatal.

- "bad_certificate_status_response": this alert is sent by clients that receive an invalid certificate status response (see Section 3.6). This message is always fatal.

   -  "bad_certificate_hash_value": this alert is sent by servers when a
      certificate hash does not match a client-provided
      certificate_hash.  This message is always fatal.

- "bad_certificate_hash_value": this alert is sent by servers when a certificate hash does not match a client-provided certificate_hash. This message is always fatal.

Blake-Wilson, et al.        Standards Track                    [Page 19]

RFC 4366                     TLS Extensions                   April 2006

Blake-Wilson, et al. Standards Track [Page 19] RFC 4366 TLS Extensions April 2006

   These error alerts are conveyed using the following syntax:

These error alerts are conveyed using the following syntax:

      enum {
          close_notify(0),
          unexpected_message(10),
          bad_record_mac(20),
          decryption_failed(21),
          record_overflow(22),
          decompression_failure(30),
          handshake_failure(40),
          /* 41 is not defined, for historical reasons */
          bad_certificate(42),
          unsupported_certificate(43),
          certificate_revoked(44),
          certificate_expired(45),
          certificate_unknown(46),
          illegal_parameter(47),
          unknown_ca(48),
          access_denied(49),
          decode_error(50),
          decrypt_error(51),
          export_restriction(60),
          protocol_version(70),
          insufficient_security(71),
          internal_error(80),
          user_canceled(90),
          no_renegotiation(100),
          unsupported_extension(110),           /* new */
          certificate_unobtainable(111),        /* new */
          unrecognized_name(112),               /* new */
          bad_certificate_status_response(113), /* new */
          bad_certificate_hash_value(114),      /* new */
          (255)
      } AlertDescription;

enum { close_notify(0), unexpected_message(10), bad_record_mac(20), decryption_failed(21), record_overflow(22), decompression_failure(30), handshake_failure(40), /* 41 is not defined, for historical reasons */ bad_certificate(42), unsupported_certificate(43), certificate_revoked(44), certificate_expired(45), certificate_unknown(46), illegal_parameter(47), unknown_ca(48), access_denied(49), decode_error(50), decrypt_error(51), export_restriction(60), protocol_version(70), insufficient_security(71), internal_error(80), user_canceled(90), no_renegotiation(100), unsupported_extension(110), /* new */ certificate_unobtainable(111), /* new */ unrecognized_name(112), /* new */ bad_certificate_status_response(113), /* new */ bad_certificate_hash_value(114), /* new */ (255) } AlertDescription;

5.  Procedure for Defining New Extensions

5. Procedure for Defining New Extensions

   The list of extension types, as defined in Section 2.3, is maintained
   by the Internet Assigned Numbers Authority (IANA).  Thus, an
   application needs to be made to the IANA in order to obtain a new
   extension type value.  Since there are subtle (and not-so-subtle)
   interactions that may occur in this protocol between new features and
   existing features that may result in a significant reduction in
   overall security, new values SHALL be defined only through the IETF
   Consensus process specified in [IANA].

The list of extension types, as defined in Section 2.3, is maintained by the Internet Assigned Numbers Authority (IANA). Thus, an application needs to be made to the IANA in order to obtain a new extension type value. Since there are subtle (and not-so-subtle) interactions that may occur in this protocol between new features and existing features that may result in a significant reduction in overall security, new values SHALL be defined only through the IETF Consensus process specified in [IANA].

   (This means that new assignments can be made only via RFCs approved
   by the IESG.)

(This means that new assignments can be made only via RFCs approved by the IESG.)

Blake-Wilson, et al.        Standards Track                    [Page 20]

RFC 4366                     TLS Extensions                   April 2006

Blake-Wilson, et al. Standards Track [Page 20] RFC 4366 TLS Extensions April 2006

   The following considerations should be taken into account when
   designing new extensions:

The following considerations should be taken into account when designing new extensions:

   -  All of the extensions defined in this document follow the
      convention that for each extension that a client requests and that
      the server understands, the server replies with an extension of
      the same type.

- All of the extensions defined in this document follow the convention that for each extension that a client requests and that the server understands, the server replies with an extension of the same type.

   -  Some cases where a server does not agree to an extension are error
      conditions, and some simply a refusal to support a particular
      feature.  In general, error alerts should be used for the former,
      and a field in the server extension response for the latter.

- Some cases where a server does not agree to an extension are error conditions, and some simply a refusal to support a particular feature. In general, error alerts should be used for the former, and a field in the server extension response for the latter.

   -  Extensions should as far as possible be designed to prevent any
      attack that forces use (or non-use) of a particular feature by
      manipulation of handshake messages.  This principle should be
      followed regardless of whether the feature is believed to cause a
      security problem.

- Extensions should as far as possible be designed to prevent any attack that forces use (or non-use) of a particular feature by manipulation of handshake messages. This principle should be followed regardless of whether the feature is believed to cause a security problem.

      Often the fact that the extension fields are included in the
      inputs to the Finished message hashes will be sufficient, but
      extreme care is needed when the extension changes the meaning of
      messages sent in the handshake phase.  Designers and implementors
      should be aware of the fact that until the handshake has been
      authenticated, active attackers can modify messages and insert,
      remove, or replace extensions.

Often the fact that the extension fields are included in the inputs to the Finished message hashes will be sufficient, but extreme care is needed when the extension changes the meaning of messages sent in the handshake phase. Designers and implementors should be aware of the fact that until the handshake has been authenticated, active attackers can modify messages and insert, remove, or replace extensions.

   -  It would be technically possible to use extensions to change major
      aspects of the design of TLS; for example, the design of cipher
      suite negotiation.  This is not recommended; it would be more
      appropriate to define a new version of TLS, particularly since the
      TLS handshake algorithms have specific protection against version
      rollback attacks based on the version number.  The possibility of
      version rollback should be a significant consideration in any
      major design change.

- It would be technically possible to use extensions to change major aspects of the design of TLS; for example, the design of cipher suite negotiation. This is not recommended; it would be more appropriate to define a new version of TLS, particularly since the TLS handshake algorithms have specific protection against version rollback attacks based on the version number. The possibility of version rollback should be a significant consideration in any major design change.

6.  Security Considerations

6. Security Considerations

   Security considerations for the extension mechanism in general and
   for the design of new extensions are described in the previous
   section.  A security analysis of each of the extensions defined in
   this document is given below.

Security considerations for the extension mechanism in general and for the design of new extensions are described in the previous section. A security analysis of each of the extensions defined in this document is given below.

   In general, implementers should continue to monitor the state of the
   art and address any weaknesses identified.

In general, implementers should continue to monitor the state of the art and address any weaknesses identified.

   Additional security considerations are described in the TLS 1.0 RFC
   [TLS] and the TLS 1.1 RFC [TLSbis].

Additional security considerations are described in the TLS 1.0 RFC [TLS] and the TLS 1.1 RFC [TLSbis].

Blake-Wilson, et al.        Standards Track                    [Page 21]

RFC 4366                     TLS Extensions                   April 2006

Blake-Wilson, et al. Standards Track [Page 21] RFC 4366 TLS Extensions April 2006

6.1.  Security of server_name

6.1. Security of server_name

   If a single server hosts several domains, then clearly it is
   necessary for the owners of each domain to ensure that this satisfies
   their security needs.  Apart from this, server_name does not appear
   to introduce significant security issues.

If a single server hosts several domains, then clearly it is necessary for the owners of each domain to ensure that this satisfies their security needs. Apart from this, server_name does not appear to introduce significant security issues.

   Implementations MUST ensure that a buffer overflow does not occur,
   whatever the values of the length fields in server_name.

Implementations MUST ensure that a buffer overflow does not occur, whatever the values of the length fields in server_name.

   Although this document specifies an encoding for internationalized
   hostnames in the server_name extension, it does not address any
   security issues associated with the use of internationalized
   hostnames in TLS (in particular, the consequences of "spoofed" names
   that are indistinguishable from another name when displayed or
   printed).  It is recommended that server certificates not be issued
   for internationalized hostnames unless procedures are in place to
   mitigate the risk of spoofed hostnames.

このドキュメントはサーバ_名前拡大で国際化しているホスト名のためのコード化を指定しますが、それは、どんなセキュリティもTLS(特に表示するか、または印刷すると別の名前から区別がつかない「偽造している」名前の結果)における国際化しているホスト名の使用に関連している問題であると扱いません。 偽造しているホスト名の危険を緩和するために手順が適所にない場合サーバ証明書が国際化しているホスト名のために発行されないのは、お勧めです。

6.2.  Security of max_fragment_length

6.2. 最大_断片_の長さのセキュリティ

   The maximum fragment length takes effect immediately, including for
   handshake messages.  However, that does not introduce any security
   complications that are not already present in TLS, since TLS requires
   implementations to be able to handle fragmented handshake messages.

握手のためにメッセージを含んでいて、最大の断片の長さはすぐに、実施します。 しかしながら、それはTLSで少しの既に存在していないセキュリティ複雑さも導入しません、TLSが、実装が断片化している握手メッセージを扱うことができるのを必要とするので。

   Note that as described in Section 3.2, once a non-null cipher suite
   has been activated, the effective maximum fragment length depends on
   the cipher suite and compression method, as well as on the negotiated
   max_fragment_length.  This must be taken into account when sizing
   buffers, and checking for buffer overflow.

非ヌル暗号スイートがいったん動く後、有効な最大の断片の長さをセクション3.2で説明されるように暗号スイートと圧縮方法と、そして、交渉された最大_断片_の長さに依存することに注意してください。 バッファを大きさで分けて、バッファオーバーフローがないかどうかチェックするとき、これを考慮に入れなければなりません。

6.3.  Security of client_certificate_url

6.3. クライアント_のセキュリティは_urlを証明します。

   There are two major issues with this extension.

この拡大には2つの大変な問題があります。

   The first major issue is whether or not clients should include
   certificate hashes when they send certificate URLs.

最初の主要な問題は証明書URLを送るとき、クライアントが証明書ハッシュを入れるべきであるかどうかということです。

   When client authentication is used *without* the
   client_certificate_url extension, the client certificate chain is
   covered by the Finished message hashes.  The purpose of including
   hashes and checking them against the retrieved certificate chain is
   to ensure that the same property holds when this extension is used,
   i.e., that all of the information in the certificate chain retrieved
   by the server is as the client intended.

クライアント認証が*がなければ中古の*であるときに、クライアント_証明書_url拡張子であり、クライアント証明書チェーンはFinishedメッセージハッシュでカバーされています。 検索された証明書チェーンに対してハッシュを含めて、それらをチェックする目的はこの拡大が使用されているとき、同じ特性が持ちこたえて、すなわち、意図するクライアントとしてサーバによって検索された証明書チェーンにおける情報のすべてがあるのを保証することです。

Blake-Wilson, et al.        Standards Track                    [Page 22]

RFC 4366                     TLS Extensions                   April 2006

ブレーク-ウィルソン、他 規格はTLS拡大2006年4月にRFC4366を追跡します[22ページ]。

   On the other hand, omitting certificate hashes enables functionality
   that is desirable in some circumstances; for example, clients can be
   issued daily certificates that are stored at a fixed URL and need not
   be provided to the client.  Clients that choose to omit certificate
   hashes should be aware of the possibility of an attack in which the
   attacker obtains a valid certificate on the client's key that is
   different from the certificate the client intended to provide.
   Although TLS uses both MD5 and SHA-1 hashes in several other places,
   this was not believed to be necessary here.  The property required of
   SHA-1 is second pre-image resistance.

他方では、証明書ハッシュを省略すると、いくつかの事情で望ましい機能性は可能にされます。 例えば、クライアントを固定URLに保存される毎日の証明書は発行できて、クライアントに提供する必要はありません。 証明書ハッシュを省略するのを選ぶクライアントは攻撃者がクライアントのクライアントが提供するつもりであった証明書と異なったキーの上の有効な証明書を入手する攻撃の可能性を意識しているべきです。 TLSは他のいくつかの場所でMD5とSHA-1ハッシュの両方を使用しますが、これがここで必要であると信じられていませんでした。 SHA-1について必要である特性は2番目のプレイメージ抵抗です。

   The second major issue is that support for client_certificate_url
   involves the server's acting as a client in another URL protocol.
   The server therefore becomes subject to many of the same security
   concerns that clients of the URL scheme are subject to, with the
   added concern that the client can attempt to prompt the server to
   connect to some (possibly weird-looking) URL.

2番目の主要な問題はクライアント_証明書_urlのサポートが、クライアントとしてサーバが行動することを別のURLプロトコルに伴うということです。 したがって、サーバはURL体系のクライアントを条件としている同じセキュリティ関心の多くを必要とするようになります、クライアントが、サーバが何らかの(ことによると奇妙に見える)のURLに接続するようにうながすのを試みることができるという加えられた関心をもって。

   In general, this issue means that an attacker might use the server to
   indirectly attack another host that is vulnerable to some security
   flaw.  It also introduces the possibility of denial of service
   attacks in which an attacker makes many connections to the server,
   each of which results in the server's attempting a connection to the
   target of the attack.

一般に、この問題は、攻撃者が間接的に何らかのセキュリティー・フローに被害を受け易い別のホストを攻撃するのにサーバを使用するかもしれないことを意味します。 また、それは攻撃の目標に接続を試みる攻撃者が多くの接続をサーバにするサービス不能攻撃の可能性を導入します。それはそれぞれサーバのものをもたらします。

   Note that the server may be behind a firewall or otherwise able to
   access hosts that would not be directly accessible from the public
   Internet.  This could exacerbate the potential security and denial of
   service problems described above, as well as allow the existence of
   internal hosts to be confirmed when they would otherwise be hidden.

サーバがファイアウォールの後ろにいるか、またはそうでなければ、公共のインターネットから直接アクセスしやすくないホストにアクセスできるかもしれないことに注意してください。 これが潜在的セキュリティを悪化させるかもしれなくて、そうでなければ、彼らが隠されるだろうというとき、サービス問題の否定は、確認されるべき内部のホストの存在を上で説明されて、許容します。

   The detailed security concerns involved will depend on the URL
   schemes supported by the server.  In the case of HTTP, the concerns
   are similar to those that apply to a publicly accessible HTTP proxy
   server.  In the case of HTTPS, loops and deadlocks may be created,
   and this should be addressed.  In the case of FTP, attacks arise that
   are similar to FTP bounce attacks.

関心が伴った詳細なセキュリティはサーバによってサポートされたURL体系によるでしょう。HTTPの場合では、HTTPSの場合では、輪と行き詰まりが作成されるかもしれなくて、これが扱われるべきであるという関心は、それらと同様です。公的にアクセスしやすいHTTPプロキシサーバに適用してください。 FTPの場合では、FTPバウンス攻撃と同様の攻撃は起こります。

   As a result of this issue, it is RECOMMENDED that the
   client_certificate_url extension should have to be specifically
   enabled by a server administrator, rather than be enabled by default.
   It is also RECOMMENDED that URI protocols be enabled by the
   administrator individually, and only a minimal set of protocols be
   enabled.  Unusual protocols that offer limited security or whose
   security is not well-understood SHOULD be avoided.

この問題の結果、クライアント_証明書_url拡張子がデフォルトで可能にされるよりサーバアドミニストレータによって明確にむしろ可能にされなければならないはずであるのは、RECOMMENDEDです。 また、URIプロトコルが管理者によって個別に可能にされるのは、RECOMMENDEDであり、唯一のaは極小集合のプロトコルです。可能にされます。 限られたセキュリティを提供するか、またはセキュリティがある珍しいプロトコルは、SHOULDが避けられるのをよく理解していませんでした。

Blake-Wilson, et al.        Standards Track                    [Page 23]

RFC 4366                     TLS Extensions                   April 2006

ブレーク-ウィルソン、他 規格はTLS拡大2006年4月にRFC4366を追跡します[23ページ]。

   As discussed in [URI], URLs that specify ports other than the default
   may cause problems, as may very long URLs (which are more likely to
   be useful in exploiting buffer overflow bugs).

[URI]で議論するように、デフォルト以外のポートを指定するURLは問題を起こすかもしれません、非常に長いURLであるかもしれないこと(バッファオーバーフローバグを利用する際に役に立つより傾向がある)のように。

   Also note that HTTP caching proxies are common on the Internet, and
   some proxies do not check for the latest version of an object
   correctly.  If a request using HTTP (or another caching protocol)
   goes through a misconfigured or otherwise broken proxy, the proxy may
   return an out-of-date response.

また、プロキシをキャッシュするHTTPがインターネットで一般的であることに注意してください。そうすれば、何人かのプロキシはオブジェクトの最新版がないかどうか正しくチェックしません。 HTTP(または、別のキャッシュプロトコル)を使用する要求がmisconfiguredされたかそうでなければ、失意のプロキシを通るなら、プロキシは時代遅れな応答を返すかもしれません。

6.4.  Security of trusted_ca_keys

6.4. 信じられた_ca_キーのセキュリティ

   It is possible that which CA root keys a client possesses could be
   regarded as confidential information.  As a result, the CA root key
   indication extension should be used with care.

クライアントがどのカリフォルニアルートキーを所有しているかを秘密情報と見なすことができたのは可能です。 その結果、カリフォルニアルートキー指示拡張子は慎重に使用されるべきです。

   The use of the SHA-1 certificate hash alternative ensures that each
   certificate is specified unambiguously.  As for the previous
   extension, it was not believed necessary to use both MD5 and SHA-1
   hashes.

SHA-1証明書ハッシュ代替手段の使用は、各証明書が明白に指定されるのを確実にします。 前の拡大に関して、それはMD5とSHA-1ハッシュの両方を使用するのに必要であると信じられていませんでした。

6.5.  Security of truncated_hmac

6.5. 端が欠けている_hmacのセキュリティ

   It is possible that truncated MACs are weaker than "un-truncated"
   MACs.  However, no significant weaknesses are currently known or
   expected to exist for HMAC with MD5 or SHA-1, truncated to 80 bits.

端が欠けているMACsが「不-端が欠けている」MACsより弱いのは、可能です。 しかしながら、どんな重要な弱点も、現在、HMACのために80ビットに先端を切られたMD5かSHA-1と共に存在すると知られもしませんし、予想もされません。

   Note that the output length of a MAC need not be as long as the
   length of a symmetric cipher key, since forging of MAC values cannot
   be done off-line: in TLS, a single failed MAC guess will cause the
   immediate termination of the TLS session.

MACの出力の長さが左右対称の暗号キーの長さと同じくらい長い必要はないことに注意してください、MAC値の鍛造物がオフラインでできないので: TLSでは、ただ一つの失敗したMAC推測はTLSセッションの即座の終了を引き起こすでしょう。

   Since the MAC algorithm only takes effect after all handshake
   messages that affect extension parameters have been authenticated by
   the hashes in the Finished messages, it is not possible for an active
   attacker to force negotiation of the truncated HMAC extension where
   it would not otherwise be used (to the extent that the handshake
   authentication is secure).  Therefore, in the event that any security
   problem were found with truncated HMAC in the future, if either the
   client or the server for a given session were updated to take the
   problem into account, it would be able to veto use of this extension.

拡大パラメタに影響するすべての握手メッセージがFinishedメッセージのハッシュによって認証された後にMACアルゴリズムが実施するだけであるので、活発な攻撃者がそうでなければそれが使用されない(握手認証が安全であるという範囲に)ところに端が欠けているHMAC拡張子の交渉を強制するのは、可能ではありません。 したがって、何か警備上の問題が将来端が欠けているHMACと共に見つけられる場合、問題を考慮に入れるために与えられたセッションのためのクライアントかサーバのどちらかをアップデートするなら、この拡張子の拒否権使用にできるでしょうに。

Blake-Wilson, et al.        Standards Track                    [Page 24]

RFC 4366                     TLS Extensions                   April 2006

ブレーク-ウィルソン、他 規格はTLS拡大2006年4月にRFC4366を追跡します[24ページ]。

6.6.  Security of status_request

6.6. 状態_要求のセキュリティ

   If a client requests an OCSP response, it must take into account that
   an attacker's server using a compromised key could (and probably
   would) pretend not to support the extension.  In this case, a client
   that requires OCSP validation of certificates SHOULD either contact
   the OCSP server directly or abort the handshake.

クライアントがOCSP応答を要求するなら、感染しているキーを使用する攻撃者のサーバがそうすることができたのを考慮に入れなければならない、(たぶん、)、拡大をサポートしないふりをしてください。 この場合、証明書SHOULDのOCSP合法化を必要とするクライアントは、直接OCSPサーバに連絡するか、または握手を中止します。

   Use of the OCSP nonce request extension (id-pkix-ocsp-nonce) may
   improve security against attacks that attempt to replay OCSP
   responses; see Section 4.4.1 of [OCSP] for further details.

OCSPの一回だけの要求拡張子(イドpkix-ocsp一回だけ)の使用はOCSP応答を再演するのを試みる攻撃に対してセキュリティを向上させるかもしれません。 さらに詳しい明細については.1セクション4.4[OCSP]を見てください。

7.  Internationalization Considerations

7. 国際化問題

   None of the extensions defined here directly use strings subject to
   localization.  Domain Name System (DNS) hostnames are encoded using
   UTF-8.  If future extensions use text strings, then
   internationalization should be considered in their design.

ここで定義された拡大のいずれも直接ローカライズを条件としてストリングを使用しません。 ドメインネームシステム(DNS)ホスト名は、UTF-8を使用することでコード化されます。 今後の拡大がテキスト文字列を使用するなら、国際化はそれらのデザインで考えられるべきです。

8.  IANA Considerations

8. IANA問題

   Sections 2.3 and 5 describe a registry of ExtensionType values to be
   maintained by the IANA.  ExtensionType values are to be assigned via
   IETF Consensus as defined in RFC 2434 [IANA].  The initial registry
   corresponds to the definition of "ExtensionType" in Section 2.3.

セクション2.3と5はIANAによって維持されるExtensionType値の登録について説明します。 ExtensionType値はRFC2434[IANA]で定義されるようにIETF Consensusを通して割り当てられることです。 初期の登録はセクション2.3との"ExtensionType"の定義に対応しています。

   The MIME type "application/pkix-pkipath" has been registered by the
   IANA with the following template:

MIMEの種類「アプリケーション/pkix-pkipath」はIANAによって以下のテンプレートに登録されました:

   To: ietf-types@iana.org
   Subject: Registration of MIME media type application/pkix-pkipath

To: ietf-types@iana.org Subject: MIMEメディアタイプアプリケーション/pkix-pkipathの登録

   MIME media type name: application
   MIME subtype name: pkix-pkipath
   Required parameters: none

MIMEメディア型名: アプリケーションMIME「副-タイプ」は以下を命名します。 pkix-pkipath Requiredパラメタ: なし

   Optional parameters: version (default value is "1")

任意のパラメタ: バージョン(デフォルト値がそうである、「1インチ)」

   Encoding considerations:
      This MIME type is a DER encoding of the ASN.1 type PkiPath,
      defined as follows:
        PkiPath ::= SEQUENCE OF Certificate
        PkiPath is used to represent a certification path.  Within the
        sequence, the order of certificates is such that the subject of
        the first certificate is the issuer of the second certificate,
        etc.

問題をコード化します: このMIMEの種類は以下の通り定義されたPkiPathをASN.1タイプにコード化するDERです: PkiPath:、:= SEQUENCE OF Certificate PkiPathは、証明経路を表すのに使用されます。 証明書の注文が系列の中では、そのようなものであるので、最初の証明書の対象は2番目の証明書の発行人ですなど。

Blake-Wilson, et al.        Standards Track                    [Page 25]

RFC 4366                     TLS Extensions                   April 2006

ブレーク-ウィルソン、他 規格はTLS拡大2006年4月にRFC4366を追跡します[25ページ]。

      This is identical to the definition published in [X509-4th-TC1];
      note that it is different from that in [X509-4th].

これは[X509第4TC1]で発行された定義と同じです。 それが[X509-4番目]でそれと異なっていることに注意してください。

      All Certificates MUST conform to [PKIX].  (This should be
      interpreted as a requirement to encode only PKIX-conformant
      certificates using this type.  It does not necessarily require
      that all certificates that are not strictly PKIX-conformant must
      be rejected by relying parties, although the security consequences
      of accepting any such certificates should be considered
      carefully.)

すべてのCertificatesが[PKIX]に従わなければなりません。 (これはこのタイプを使用することでPKIX-conformant証明書だけをコード化するという要件として解釈されるべきです。 それは、必ず厳密に、当てにしているパーティーがPKIX-conformantを拒絶しなければなりません、どんなそのような証明書も受け入れるセキュリティ結果がそうするべきですがことでないすべての証明書が慎重に考えられるのを必要とするというわけではありません。)

      DER (as opposed to BER) encoding MUST be used.  If this type is
      sent over a 7-bit transport, base64 encoding SHOULD be used.

DER(BERと対照的に)コード化を使用しなければなりません。 このタイプを送るなら、7ビットの輸送、SHOULDをコード化するbase64の上では、使用してください。

   Security considerations:
      The security considerations of [X509-4th] and [PKIX] (or any
      updates to them) apply, as well as those of any protocol that uses
      this type (e.g., TLS).

セキュリティ問題: [4番目のX509]と[PKIX](または、それらへのどんなアップデート)のセキュリティ問題は適用されます、このタイプ(例えば、TLS)を使用するどんなプロトコルのものと同様に。

      Note that this type only specifies a certificate chain that can be
      assessed for validity according to the relying party's existing
      configuration of trusted CAs; it is not intended to be used to
      specify any change to that configuration.

このタイプが信用パーティーの信じられたCAsの既存の構成に従って正当性のために評価できる証明書チェーンを指定するだけであることに注意してください。 その構成へのどんな変化も指定するのにそれが使用されることを意図しません。

   Interoperability considerations:
      No specific interoperability problems are known with this type,
      but for recommendations relating to X.509 certificates in general,
      see [PKIX].

相互運用性問題: 一般に、このタイプで知られていますが、推薦のためにX.509証明書に関係することにおけるどんな特定の相互運用性問題も、[PKIX]は認めません。

   Published specification: RFC 4366 (this memo), and [PKIX].

広められた仕様: RFC4366(このメモ)、および[PKIX。]

   Applications which use this media type: TLS.  It may also be used by
      other protocols, or for general interchange of PKIX certificate
      chains.

このメディアタイプを使用するアプリケーション: TLS。 また、それは他のプロトコル、またはPKIX証明書チェーンの一般的な置き換えに使用されるかもしれません。

   Additional information:
      Magic number(s): DER-encoded ASN.1 can be easily recognized.
        Further parsing is required to distinguish it from other ASN.1
        types.
      File extension(s): .pkipath
      Macintosh File Type Code(s): not specified

追加情報: マジックナンバー(s): 容易にDERによってコード化されたASN.1を認識できます。 さらなる構文解析が、他のASN.1タイプとそれを区別するのに必要です。 ファイル拡張子(s): .pkipathマッキントッシュファイルタイプは(s)をコード化します: 指定されません。

   Person & email address to contact for further information:
      Magnus Nystrom <magnus@rsasecurity.com>

詳細のために連絡する人とEメールアドレス: マグヌス Nystrom <magnus@rsasecurity.com 、gt。

   Intended usage: COMMON

意図している用法: 一般的

Blake-Wilson, et al.        Standards Track                    [Page 26]

RFC 4366                     TLS Extensions                   April 2006

ブレーク-ウィルソン、他 規格はTLS拡大2006年4月にRFC4366を追跡します[26ページ]。

   Change controller:
      IESG <iesg@ietf.org>

コントローラを変えてください: IESG <iesg@ietf.org 、gt。

9.  Acknowledgements

9. 承認

   The authors wish to thank the TLS Working Group and the WAP Security
   Group.  This document is based on discussion within these groups.

作者はTLS作業部会とWAP Security Groupに感謝したがっています。 このドキュメントはこれらのグループの中で議論に基づいています。

10.  Normative References

10. 引用規格

   [HMAC]         Krawczyk, H., Bellare, M., and R. Canetti, "HMAC:
                  Keyed-Hashing for Message Authentication", RFC 2104,
                  February 1997.

[HMAC] Krawczyk、H.、Bellare、M.、およびR.カネッティ、「HMAC:」 「通報認証のための合わせられた論じ尽くす」RFC2104、1997年2月。

   [HTTP]         Fielding,  R., Gettys, J., Mogul, J., Frystyk, H.,
                  Masinter, L., Leach, P., and T. Berners-Lee,
                  "Hypertext Transfer Protocol -- HTTP/1.1", RFC 2616,
                  June 1999.

[HTTP] フィールディング、R.、Gettys、J.、ムガール人、J.、Frystyk、H.、Masinter、L.、リーチ、P.、およびT.バーナーズ・リー、「HTTP/1.1インチ、RFC2616、1999年ハイパーテキスト転送プロトコル--6月。」

   [IANA]         Narten, T. and H. Alvestrand, "Guidelines for Writing
                  an IANA Considerations Section in RFCs", BCP 26, RFC
                  2434, October 1998.

[IANA]Narten、T.とH.Alvestrand、「RFCsにIANA問題部に書くためのガイドライン」BCP26、RFC2434(1998年10月)。

   [IDNA]         Faltstrom, P., Hoffman, P., and A. Costello,
                  "Internationalizing Domain Names in Applications
                  (IDNA)", RFC 3490, March 2003.

[IDNA] Faltstrom、P.、ホフマン、P.、およびA.コステロ、「アプリケーション(IDNA)におけるドメイン名を国際的にします」、RFC3490、2003年3月。

   [KEYWORDS]     Bradner, S., "Key words for use in RFCs to Indicate
                  Requirement Levels", BCP 14, RFC 2119, March 1997.

[KEYWORDS]ブラドナー、S.、「Indicate Requirement LevelsへのRFCsにおける使用のためのキーワード」、BCP14、RFC2119、1997年3月。

   [OCSP]         Myers, M., Ankney, R., Malpani, A., Galperin, S., and
                  C. Adams, "X.509 Internet Public Key Infrastructure
                  Online Certificate Status Protocol - OCSP", RFC 2560,
                  June 1999.

[OCSP] マイアーズ、M.、Ankney、R.、Malpani、A.、ガリペリン、S.、およびC.アダムス、「X.509のインターネットの公開鍵暗号基盤のオンライン証明書状態は議定書を作ります--OCSP」、RFC2560、1999年6月。

   [PKIOP]        Housley, R. and P. Hoffman, "Internet X.509 Public Key
                  Infrastructure Operational Protocols: FTP and HTTP",
                  RFC 2585, May 1999.

[PKIOP] Housley、R.、およびP.ホフマン、「インターネットのX.509の公開鍵暗号基盤の操作上のプロトコル:」 「FTPとHTTP」(RFC2585)は1999がそうするかもしれません。

   [PKIX]         Housley, R., Polk, W., Ford, W., and D. Solo,
                  "Internet X.509 Public Key Infrastructure Certificate
                  and Certificate Revocation List (CRL) Profile", RFC
                  3280, April 2002.

[PKIX] Housley、R.、ポーク、W.、フォード、W.、および一人で生活して、「インターネットX.509公開鍵暗号基盤証明書と証明書失効リスト(CRL)は輪郭を描く」D.、RFC3280(2002年4月)。

   [TLS]          Dierks, T. and C. Allen, "The TLS Protocol Version
                  1.0", RFC 2246, January 1999.

[TLS] Dierks、T.、およびC.アレン、「TLSは1999年1月にバージョン1インチ、RFC2246について議定書の中で述べます」。

Blake-Wilson, et al.        Standards Track                    [Page 27]

RFC 4366                     TLS Extensions                   April 2006

ブレーク-ウィルソン、他 規格はTLS拡大2006年4月にRFC4366を追跡します[27ページ]。

   [TLSbis]       Dierks, T. and E. Rescorla, "The Transport Layer
                  Security (TLS) Protocol Version 1.1", RFC 4346, April
                  2006.

[TLSbis] Dierks、T.、およびE.レスコラ、「トランスポート層セキュリティ(TLS)は2006年4月にバージョン1.1インチ、RFC4346について議定書の中で述べます」。

   [URI]          Berners-Lee, T., Fielding, R., and L. Masinter,
                  "Uniform Resource Identifier (URI): Generic Syntax",
                  STD 66, RFC 3986, January 2005.

[URI]バーナーズ・リー、T.、フィールディング、R.、およびL.Masinter、「Uniform Resource Identifier(URI):」 「ジェネリック構文」、STD66、RFC3986、2005年1月。

   [UTF8]         Yergeau, F., "UTF-8, a transformation format of ISO
                  10646", STD 63, RFC 3629, November 2003.

[UTF8]Yergeau、F.、「UTF-8、ISO10646の変換形式」STD63、RFC3629、11月2003日

   [X509-4th]     ITU-T Recommendation X.509 (2000) | ISO/IEC
                  9594-8:2001, "Information Systems - Open Systems
                  Interconnection - The Directory:  Public key and
                  attribute certificate frameworks."

[X509-4番目] ITU-T推薦X.509(2000)| ISO/IEC9594-8:2001、「情報システム--オープン・システム・インターコネクション--ディレクトリ:、」 「公開鍵と属性はフレームワークを証明します。」

   [X509-4th-TC1] ITU-T Recommendation X.509(2000) Corrigendum 1(2001) |
                  ISO/IEC 9594-8:2001/Cor.1:2002, Technical Corrigendum
                  1 to ISO/IEC 9594:8:2001.

[X509第4TC1] ITU-T推薦X.509(2000)間違い1(2001)| ISO/IEC9594-8: 2001/心臓、.1:2002 技術的な間違い1からISO/IEC9594:8:2001。

11.  Informative References

11. 有益な参照

   [AESSUITES]    Chown, P., "Advanced Encryption Standard (AES)
                  Ciphersuites for Transport Layer Security (TLS)", RFC
                  3268, June 2002.

[AESSUITES]Chown、2002年6月のP.、「トランスポート層セキュリティ(TLS)のためのエー・イー・エス(AES)Ciphersuites」RFC3268。

   [KERB]         Medvinsky, A. and M. Hur, "Addition of Kerberos Cipher
                  Suites to Transport Layer Security (TLS)", RFC 2712,
                  October 1999.

[縁石]Medvinsky、A.、およびM.Hur、「トランスポート層セキュリティ(TLS)へのケルベロス暗号スイートの追加」、RFC2712、1999年10月。

   [MAILINGLIST]  J. Mikkelsen, R. Eberhard, and J. Kistler, "General
                  ClientHello extension mechanism and virtual hosting,"
                  ietf-tls mailing list posting, August 14, 2000.

[MAILINGLIST] 2000年8月14日のJ.ミッケルセン、R.エーベルハルトとJ.キストラー、「一般ClientHello拡張機能の、そして、仮想の接待」、ietf-tlsメーリングリスト任命。

   [RFC3546]      Blake-Wilson, S., Nystrom, M., Hopwood, D., Mikkelsen,
                  J., and T. Wright, "Transport Layer Security (TLS)
                  Extensions", RFC 3546, June 2003.

[RFC3546]ブレーク-ウィルソン、S.、ニストロム、M.、Hopwood(D.、ミッケルセン、J.、およびT.ライト)は「層のセキュリティ(TLS)拡大を輸送します」、RFC3546、2003年6月。

Blake-Wilson, et al.        Standards Track                    [Page 28]

RFC 4366                     TLS Extensions                   April 2006

ブレーク-ウィルソン、他 規格はTLS拡大2006年4月にRFC4366を追跡します[28ページ]。

Authors' Addresses

作者のアドレス

   Simon Blake-Wilson
   BCI

サイモンブレーク-ウィルソンBCI

   EMail: sblakewilson@bcisse.com

メール: sblakewilson@bcisse.com

   Magnus Nystrom
   RSA Security

マグヌスニストロムRSA Security

   EMail: magnus@rsasecurity.com

メール: magnus@rsasecurity.com

   David Hopwood
   Independent Consultant

デヴィッドHopwoodから独立しているコンサルタント

   EMail: david.hopwood@blueyonder.co.uk

メール: david.hopwood@blueyonder.co.uk

   Jan Mikkelsen
   Transactionware

ジャンミッケルセンTransactionware

   EMail: janm@transactionware.com

メール: janm@transactionware.com

   Tim Wright
   Vodafone

ティム職人ボーダフォン

   EMail: timothy.wright@vodafone.com

メール: timothy.wright@vodafone.com

Blake-Wilson, et al.        Standards Track                    [Page 29]

RFC 4366                     TLS Extensions                   April 2006

ブレーク-ウィルソン、他 規格はTLS拡大2006年4月にRFC4366を追跡します[29ページ]。

Full Copyright Statement

完全な著作権宣言文

   Copyright (C) The Internet Society (2006).

Copyright(C)インターネット協会(2006)。

   This document is subject to the rights, licenses and restrictions
   contained in BCP 78, and except as set forth therein, the authors
   retain all their rights.

このドキュメントはBCP78に含まれた権利、ライセンス、および制限を受けることがあります、そして、そこに詳しく説明されるのを除いて、作者は彼らのすべての権利を保有します。

   This document and the information contained herein are provided on an
   "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
   OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
   ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
   INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
   INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
   WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

このドキュメントと「そのままで」という基礎と貢献者、その人が代表する組織で提供するか、または後援されて、インターネット協会とインターネット・エンジニアリング・タスク・フォースはすべての保証を放棄します、と急行ORが含意したということであり、他を含んでいて、ここに含まれて、情報の使用がここに侵害しないどんな保証も少しもまっすぐになるという情報か市場性か特定目的への適合性のどんな黙示的な保証。

Intellectual Property

知的所有権

   The IETF takes no position regarding the validity or scope of any
   Intellectual Property Rights or other rights that might be claimed to
   pertain to the implementation or use of the technology described in
   this document or the extent to which any license under such rights
   might or might not be available; nor does it represent that it has
   made any independent effort to identify any such rights.  Information
   on the procedures with respect to rights in RFC documents can be
   found in BCP 78 and BCP 79.

IETFはどんなIntellectual Property Rightsの正当性か範囲、実装に関係すると主張されるかもしれない他の権利、本書では説明された技術の使用またはそのような権利の下におけるどんなライセンスも利用可能であるかもしれない、または利用可能でないかもしれない範囲に関しても立場を全く取りません。 または、それはそれを表しません。どんなそのような権利も特定するどんな独立している取り組みも作りました。 BCP78とBCP79でRFCドキュメントの権利に関する手順に関する情報を見つけることができます。

   Copies of IPR disclosures made to the IETF Secretariat and any
   assurances of licenses to be made available, or the result of an
   attempt made to obtain a general license or permission for the use of
   such proprietary rights by implementers or users of this
   specification can be obtained from the IETF on-line IPR repository at
   http://www.ietf.org/ipr.

IPR公開のコピーが利用可能に作られるべきライセンスの保証、または一般的な免許を取得するのが作られた試みの結果をIETF事務局といずれにもしたか、または http://www.ietf.org/ipr のIETFのオンラインIPR倉庫からこの仕様のimplementersかユーザによるそのような所有権の使用のために許可を得ることができます。

   The IETF invites any interested party to bring to its attention any
   copyrights, patents or patent applications, or other proprietary
   rights that may cover technology that may be required to implement
   this standard.  Please address the information to the IETF at
   ietf-ipr@ietf.org.

IETFはこの規格を実装するのに必要であるかもしれない技術をカバーするかもしれないどんな著作権もその注目していただくどんな利害関係者、特許、特許出願、または他の所有権も招待します。 ietf-ipr@ietf.org のIETFに情報を扱ってください。

Acknowledgement

承認

   Funding for the RFC Editor function is provided by the IETF
   Administrative Support Activity (IASA).

RFC Editor機能のための基金はIETF Administrative Support Activity(IASA)によって提供されます。

Blake-Wilson, et al.        Standards Track                    [Page 30]

ブレーク-ウィルソン、他 標準化過程[30ページ]

一覧

 RFC 1〜100  RFC 1401〜1500  RFC 2801〜2900  RFC 4201〜4300 
 RFC 101〜200  RFC 1501〜1600  RFC 2901〜3000  RFC 4301〜4400 
 RFC 201〜300  RFC 1601〜1700  RFC 3001〜3100  RFC 4401〜4500 
 RFC 301〜400  RFC 1701〜1800  RFC 3101〜3200  RFC 4501〜4600 
 RFC 401〜500  RFC 1801〜1900  RFC 3201〜3300  RFC 4601〜4700 
 RFC 501〜600  RFC 1901〜2000  RFC 3301〜3400  RFC 4701〜4800 
 RFC 601〜700  RFC 2001〜2100  RFC 3401〜3500  RFC 4801〜4900 
 RFC 701〜800  RFC 2101〜2200  RFC 3501〜3600  RFC 4901〜5000 
 RFC 801〜900  RFC 2201〜2300  RFC 3601〜3700  RFC 5001〜5100 
 RFC 901〜1000  RFC 2301〜2400  RFC 3701〜3800  RFC 5101〜5200 
 RFC 1001〜1100  RFC 2401〜2500  RFC 3801〜3900  RFC 5201〜5300 
 RFC 1101〜1200  RFC 2501〜2600  RFC 3901〜4000  RFC 5301〜5400 
 RFC 1201〜1300  RFC 2601〜2700  RFC 4001〜4100  RFC 5401〜5500 
 RFC 1301〜1400  RFC 2701〜2800  RFC 4101〜4200 

スポンサーリンク

コマンドやphpMyAdminで複数のデータベースに接続できるユーザーを作成する方法

ホームページ製作・web系アプリ系の製作案件募集中です。

上に戻る