3. Types SignatureScheme PKCS
3. Types SignatureScheme PKCS #1 v1.5
Les valeurs SignatureScheme suivantes sont définies pour une utilisation avec TLS 1.3.
enum {
rsa_pkcs1_sha256_legacy(0x0420),
rsa_pkcs1_sha384_legacy(0x0520),
rsa_pkcs1_sha512_legacy(0x0620),
} SignatureScheme;
Ces points de code indiquent un algorithme de signature utilisant RSASSA-PKCS1-v1_5 [RFC8017] avec l'algorithme de hachage correspondant défini dans [SHS]. Ils sont définis uniquement pour les signatures dans le message CertificateVerify du client et ne sont définis pour aucun autre contexte.
Les serveurs qui souhaitent annoncer la prise en charge des signatures RSASSA-PKCS1-v1_5 dans les certificats eux-mêmes devraient utiliser les constantes rsa_pkcs1_* définies dans [RFC8446]. Les clients ne doivent pas annoncer les valeurs historiques dans l'extension signature_algorithms de ClientHello et ne doivent pas les accepter dans le message CertificateVerify du serveur.
Les serveurs qui prennent en charge des clients s'authentifiant avec des clés historiques RSASSA-PKCS1-v1_5-only peuvent envoyer ces valeurs dans l'extension signature_algorithms de CertificateRequest et les accepter dans le message CertificateVerify du client. Les serveurs ne doivent pas accepter ces points de code s'ils n'ont pas été proposés dans CertificateRequest. Les clients possédant de telles clés historiques peuvent négocier ces algorithmes de signature lorsqu'ils sont proposés par le serveur.
Les clients ne devraient pas négocier ces algorithmes avec des clés qui prennent en charge RSASSA-PSS, bien que cela puisse ne pas être pratique à déterminer dans toutes les applications. Les implémentations TLS devraient désactiver ces points de code par défaut.