3. PKCS
3. PKCS #1 v1.5 SignatureScheme 型
次の SignatureScheme 値は TLS 1.3 で使用するために定義されます.
enum {
rsa_pkcs1_sha256_legacy(0x0420),
rsa_pkcs1_sha384_legacy(0x0520),
rsa_pkcs1_sha512_legacy(0x0620),
} SignatureScheme;
これらのコードポイントは, [SHS] で定義される対応するハッシュアルゴリズムとともに RSASSA-PKCS1-v1_5 [RFC8017] を使用する署名アルゴリズムを示します. これらはクライアント CertificateVerify メッセージ内の署名にのみ定義され, 他のいかなる文脈にも定義されません.
証明書自体における RSASSA-PKCS1-v1_5 署名のサポートを広告しようとするサーバは, [RFC8446] で定義される rsa_pkcs1_* 定数を使用すべきです. クライアントは ClientHello の signature_algorithms 拡張でこれらのレガシー値を広告してはならず, サーバ CertificateVerify メッセージでそれらを受け入れてはなりません.
レガシーな RSASSA-PKCS1-v1_5-only 鍵で認証するクライアントをサポートするサーバは, CertificateRequest の signature_algorithms 拡張でこれらの値を送信し, クライアント CertificateVerify メッセージで受け入れてもかまいません. サーバは, CertificateRequest で提示していない場合, これらのコードポイントを受け入れてはなりません. そのようなレガシー鍵を持つクライアントは, サーバが提示した場合にこれらの署名アルゴリズムを交渉してもかまいません.
クライアントは, RSASSA-PSS をサポートする鍵ではこれらのアルゴリズムを交渉すべきではありません. ただし, すべてのアプリケーションでこれを判定することが現実的とは限りません. TLS 実装は, これらのコードポイントをデフォルトで無効にすべきです.