[7] [[TLS拡張]] [DFN[[CODE[[[padding]]]]]] ([DFN[[CODE[[[21]]]]]])
は、扱える [CODE[[[ClientHello]]]] の長さに関する不具合に対処するためのものです
[SRC[>>1]]。

* 仕様書

[REFS[
- [1] [CITE@en[RFC 7685 - A Transport Layer Security (TLS) ClientHello Padding Extension]] ([TIME[2015-10-23 13:09:51 +09:00]] 版) <https://tools.ietf.org/html/rfc7685>
]REFS]

* 構文

[6] [[拡張型]]は、 [CODE[21]] ([CODE[[[padding]]]]) です [SRC[>>1]]。

[3] [[拡張データ]]は、最初の2バイトが[[16ビット符号無し整数]] ([[ネットワークバイト順]])
で、その後にその値と同じ長さの [CODE[[[0x00]]]] のみの[[バイト列]]が続くものです [SRC[>>1]]。

[FIG(railroad)[
= 長さ
= *
== [CODE[[[0x00]]]]
]FIG]

[4] [[クライアント]]はデータ部分を [CODE[[[0x00]]]] のみにしなければ[['''なりません''']]
[SRC[>>1]]。

[5] [[サーバー]]は本拡張を [[echo]] しては[['''なりません''']] [SRC[>>1]]。

* 実装

[2] [[Chrome]] が使っています。 [TIME[2015-10-27T07:31:31.800Z]]

[8] 256-511 [[バイト]]の [CODE[[[ClientHello]]]] を扱えない実装があることが知られています
[SRC[>>1]]。本拡張で 512 [[バイト]]に増やすことができます。
