Aller au contenu principal

3.3.4. ECDSA avec la courbe P-256 DSS et SHA-256

3.3.4. ECDSA avec la courbe P-256 DSS et SHA-256

Pour signer avec cet algorithme, le signataire applique l'algorithme de signature ECDSA défini dans [FIPS186-5] en utilisant la courbe P-256 avec la clé de signature privée du signataire et la base de signature (Section 2.5). Le hachage SHA-256 [RFC6234] est appliqué à la base de signature pour produire le contenu digest auquel la signature numérique est appliquée (M). L'algorithme de signature renvoie deux valeurs entières : r et s. Elles sont toutes deux encodées en entiers non signés gros-boutiste, complétées par des zéros jusqu'à 32 octets chacune. Ces valeurs encodées sont concaténées en un seul tableau de 64 octets constitué de la valeur encodée de r suivie de la valeur encodée de s. La concaténation résultante de (r, s) est un tableau d'octets constituant la sortie de signature de message HTTP utilisée à la Section 3.1.

Pour vérifier avec cet algorithme, le vérificateur applique l'algorithme de signature ECDSA défini dans [FIPS186-5] en utilisant la partie clé publique du matériel de clé de vérification et la base de signature recréée comme décrit à la Section 3.2. La fonction de hachage SHA-256 [RFC6234] est appliquée à la base de signature pour produire le contenu digest auquel la fonction de vérification de signature est appliquée (M). Le vérificateur extrait la signature de message HTTP à vérifier (S) comme décrit à la Section 3.2. Cette valeur est un tableau de 64 octets constitué des valeurs encodées de r et s concaténées dans l'ordre. Elles sont toutes deux encodées en entiers non signés gros-boutiste, complétées par des zéros jusqu'à 32 octets chacune. La valeur de signature résultante (r, s) est utilisée comme entrée de la fonction de vérification de signature. Les résultats de la fonction de vérification indiquent si la signature présentée est valide.

Notez que la sortie des algorithmes de signature ECDSA n'est pas déterministe ; il n'est donc pas correct de recalculer une nouvelle signature sur la base de signature et de comparer le résultat à une signature existante. L'algorithme de vérification défini ici doit être utilisé à la place. Voir la Section 7.3.5.

L'utilisation de cet algorithme peut être indiquée à l'exécution au moyen de la valeur ecdsa-p256-sha256 pour le paramètre de signature alg.