3. PKCS
3. PKCS #1 v1.5 SignatureScheme-Typen
Die folgenden SignatureScheme-Werte werden für die Verwendung mit TLS 1.3 definiert.
enum {
rsa_pkcs1_sha256_legacy(0x0420),
rsa_pkcs1_sha384_legacy(0x0520),
rsa_pkcs1_sha512_legacy(0x0620),
} SignatureScheme;
Diese Codepoints geben einen Signaturalgorithmus an, der RSASSA-PKCS1-v1_5 [RFC8017] mit dem entsprechenden in [SHS] definierten Hash-Algorithmus verwendet. Sie sind nur für Signaturen in der Client-CertificateVerify-Nachricht definiert und für keinen anderen Kontext.
Server, die Unterstützung für RSASSA-PKCS1-v1_5-Signaturen in Zertifikaten selbst ankündigen wollen, sollten die in [RFC8446] definierten rsa_pkcs1_*-Konstanten verwenden. Clients dürfen die Legacy-Werte nicht in der signature_algorithms-Erweiterung von ClientHello ankündigen und dürfen sie in der Server-CertificateVerify-Nachricht nicht akzeptieren.
Server, die Clients unterstützen, die sich mit Legacy-Schlüsseln authentifizieren, die nur RSASSA-PKCS1-v1_5 unterstützen, dürfen diese Werte in der signature_algorithms-Erweiterung von CertificateRequest senden und in der Client-CertificateVerify-Nachricht akzeptieren. Server dürfen diese Codepoints nicht akzeptieren, wenn sie nicht in CertificateRequest angeboten wurden. Clients mit solchen Legacy-Schlüsseln dürfen diese Signaturalgorithmen aushandeln, wenn sie vom Server angeboten werden.
Clients sollten diese Algorithmen nicht mit Schlüsseln aushandeln, die RSASSA-PSS unterstützen, auch wenn dies nicht in allen Anwendungen praktisch zu bestimmen ist. TLS-Implementierungen sollten diese Codepoints standardmäßig deaktivieren.