Aller au contenu
ecdsa.com

Apprendre

Des guides courts et techniques sur le fonctionnement réel des signatures numériques : les algorithmes, les formats au niveau de l’octet et les erreurs de configuration qui font échouer la vérification. Écrits pour les moments où une signature refuse de se vérifier et où le message d’erreur ne vous apprend rien.

TLS

Certificats TLS de 47 jours : calendrier et automatisation

Vote SC-081 du CA/B Forum : certificats TLS publics à 200, 100 puis 47 jours, validation de domaine réutilisable 10 jours. Dates, profils ACME, ARI, alertes.

Chaîne d’approvisionnement

Schémas de signature APK v1 à v4, rotation de clé et Play

Signature des APK Android : schémas v1 à v4, rotation de clé avec v3 et v3.1, nouveau v3.2 hybride avec ML-DSA, Play App Signing et sortie d’apksigner verify.

Chaîne d’approvisionnement

Signature Authenticode : clés, horodatages, vérification

Signature de code Authenticode des exécutables Windows : règle HSM de 2023 pour les clés, horodatages qui survivent aux certificats, signtool et osslsigncode.

Bitcoin

Signer un message Bitcoin : BIP-137 et BIP-322 expliqués

Messages Bitcoin signés : en-têtes BIP-137, preuves BIP-322 simples et complètes, types d’adresse, portefeuilles compatibles, vérification testée en 2026.

Chaîne d’approvisionnement

C2PA Content Credentials : manifestes, signatures, limites

Content Credentials C2PA : manifestes, claims et signatures COSE, certificats et horodatages, états de validation, et pourquoi un réencodage les efface.

TLS

Épinglage de certificats en 2026 : quand et comment

Épinglage de certificats aujourd’hui : abandon de HPKP, empreintes SPKI pour Android, iOS et OkHttp, risque de blocage avec les certificats courts, rotation.

PKI

Certificate Transparency côté développeur : SCT et alertes

Fonctionnement de Certificate Transparency en 2026 : SCT et journaux, règles de Chrome, Apple et Firefox, recherche via Cert Spotter et crt.sh, surveillance.

E-mail

Échec DKIM : condensat du corps, signature, clés et DNS

Pourquoi DKIM échoue : canonicalisation, condensat du corps, transfert, listes de diffusion, balise l=, taille de clé, DNS. Échecs reproduits et correctifs.

DNS

Chaîne de confiance DNSSEC : DS, DNSKEY, RRSIG et pannes

Comment la validation DNSSEC va de la racine à votre enregistrement : DS, DNSKEY, RRSIG, algorithmes 8, 13 et 15, dig et delv, échecs de roulement de clés.

DPoP

DPoP expliqué : lier les jetons OAuth à une clé client

DPoP (RFC 9449) lie les jetons d’accès OAuth à une clé client : JWT de preuve, jti, htm, htu, ath, nonces du serveur, cnf.jkt et serveur de ressources testé.

Algorithmes

Récupération de clé publique ECDSA : recid, v et ecrecover

Récupération de clé publique ECDSA : calcul, identifiant de récupération et v, ecrecover d’Ethereum, signatures compactes Bitcoin, EIP-2098 et bogues à éviter.

Ethereum

EIP-712 : ce que vous signez vraiment, et comment le lire

EIP-712 expliqué : données typées, domaine, types et hachage, permits ERC-2612, Permit2, approbations illimitées, lire une demande de signature avant de signer.

JWT

ES256 vs EdDSA pour les JWT : lequel choisir en 2026

ES256 vs EdDSA (Ed25519) pour les JWT : taille, déterminisme, malléabilité, vitesse, 13 bibliothèques testées, KMS et HSM, nouveau nom Ed25519, choix 2026.

Gestion des clés

Clés matérielles : Secure Enclave, StrongBox, TPM, PIV

Ce que garantit une clé matérielle : Secure Enclave d’Apple, TEE et StrongBox d’Android, TPM 2.0, YubiKey PIV, preuve par attestation et limites.

Signatures HTTP

HTTP Message Signatures (RFC 9421) pour API et bots

HTTP Message Signatures (RFC 9421) en pratique : composants couverts, Signature-Input, clés, rejeu, contrôles serveur, Web Bot Auth pour bots et agents d’IA.

JWT

Rotation des clés JWKS sans interruption de service

Rotation des clés de signature JWT sans requête en échec : règles du kid, fenêtres de chevauchement, Cache-Control, cache de 7 bibliothèques, retrait d’urgence.

JWT

Erreurs de vérification JWT : des jetons acceptés à tort

Erreurs de vérification JWT encore courantes : alg lu dans l’en-tête, confusion HS/RS, kid, aud, iss, exp, décalage d’horloge et cache JWKS, avec code corrigé.

Post-quantique

ML-DSA côté développeur : clés FIPS 204, signatures, code

ML-DSA (FIPS 204) en pratique : tailles 44/65/87, mode hedged ou déterministe, contexte, HashML-DSA, formats de clé, code testé pour OpenSSL, Go, Java, .NET.

TLS

TLS mutuel pour les API : certificats clients en pratique

TLS mutuel pour les API : certificats clients en TLS 1.3, AC privée, configurations nginx, Envoy, Go et Node.js, rotation et erreurs affichées par chacun.

PKI

OCSP et CRL en 2026 : comment se vérifie la révocation

Fin d’OCSP chez Let’s Encrypt, CRL obligatoires, CRLite et CRLSets. Ce que Java, .NET, Go, Python, Node.js et curl vérifient par défaut, et comment y remédier.

OpenID Connect

Validation du jeton d’ID OIDC, étape par étape

Valider un jeton d’ID OpenID Connect selon Core 3.1.3.7 : iss, aud, azp, signature, exp, nonce, at_hash et c_hash, et les pièges d’Entra ID, Google et Auth0.

Chaîne d’approvisionnement

OpenPGP en 2026 : RFC 9580, clés v6 et scission de GnuPG

OpenPGP aujourd’hui : RFC 9580 et clés v6, Ed25519 et X25519, RFC 9980 post-quantique, LibrePGP de GnuPG face à Sequoia, tests d’interopérabilité et conseils.

Clés d’accès

Passkeys côté développeur : WebAuthn sans tâtonner

Clés d’accès WebAuthn testées : enregistrement, connexion, attestation, synchronisation, vérification de l’utilisateur, algorithmes COSE, erreurs DOMException.

Documents

Signatures PDF expliquées : ByteRange, CMS, PAdES et LTV

Fonctionnement d’une signature PDF : ByteRange, CMS, niveaux PAdES, horodatages RFC 3161, LTV, pourquoi elle est valide mais non approuvée, comment la vérifier.

Java

PKIX path building failed en Java : causes et solutions

Pourquoi Java lève PKIX path building failed : AC privée, intermédiaire absent, mauvais magasin de confiance, racines obsolètes, SNI. Diagnostic et correctifs.

Post-quantique

Migration post-quantique en 2026 : plan pour développeurs

Échange de clés et signatures : ce qui est post-quantique par défaut en 2026, ce qu’il reste à faire, les vraies échéances (NIST IR 8547, CNSA 2.0, UE, R.-U.).

SAML

Validation des signatures SAML : que vérifier et pourquoi

Valider une signature SAML : références XMLDSig, canonicalisation, données à lire dans l’élément signé, contrôles d’Audience, de Recipient et de dates.

SD-JWT

SD-JWT & SD-JWT VC : divulgation sélective et EUDI Wallet

SD-JWT (RFC 9901) et SD-JWT VC : claims cachés derrière des condensats salés, liaison de clé contre le rejeu, lien avec l’EUDI Wallet et mdoc, état en 2026.

Algorithmes

secp256k1 expliquée : la courbe de Bitcoin et d’Ethereum

secp256k1 expliquée : paramètres, endomorphisme qui l’accélère, pourquoi Bitcoin et Ethereum l’utilisent, low-S, encodages des clés et adresses, plateformes.

Ethereum

Sign-In with Ethereum (EIP-4361) : vérifier côté serveur

Sign-In with Ethereum bien fait : message EIP-4361, nonce, domaine et URI, vérification serveur, ERC-1271 et ERC-6492 pour les portefeuilles intelligents.

Chaîne d’approvisionnement

Versions signées avec Sigstore : cosign, bundles, identité

Sigstore sans clé : certificats Fulcio, journal Rekor, bundles cosign, vérification de l’identité du signataire, provenance npm, attestations GitHub.

Gestion des clés

Signer avec un KMS cloud : AWS, Google Cloud et Azure

Signer avec AWS KMS, Google Cloud KMS et Azure Key Vault : types de clés, condensat ou message, ECDSA DER ou brut, JWT et fichiers, droits, journaux d’audit.

SSH

Certificats SSH vs authorized_keys : AC et principaux

Certificats OpenSSH au lieu d’authorized_keys : AC utilisateur et d’hôte, principaux, validité, ssh-keygen -s, config sshd, révocation KRL et erreurs réelles.

SSH

ssh-keygen en 2026 : types de clés, phrase de passe, agent

Quelle clé SSH générer en 2026 : Ed25519, clés FIDO -sk, nouvel hybride ML-DSA, RSA 3072 ; tours de KDF, risques du transfert d’agent, certificats, rotation.

TLS

X25519MLKEM768 expliqué : échange de clés hybride TLS 1.3

Le groupe hybride X25519MLKEM768 de TLS 1.3 : taille des key shares, point de code 0x11EC, qui l’active par défaut, comment le vérifier, ce qu’il peut casser.

PKI

Champs d’un certificat X.509 expliqués sur des cas réels

Champs X.509 de vrais certificats : sujet ou SAN, Key Usage et EKU, Basic Constraints, AKI et SKI, CRL, OCSP et AIA, SCT, et le sens actuel de chaque règle.

Modes de défaillance

Réutilisation de nonce ECDSA : comment un nombre répété révèle une clé privée

Pourquoi réutiliser le nonce k d’ECDSA révèle la clé privée : calcul, échecs de la PlayStation 3 et d’Android, r répétés sur Bitcoin, correctif RFC 6979.

Formats

Formats de signature ECDSA : DER ou brut (P1363), high-S et pièges entre bibliothèques

Pourquoi une signature ECDSA a deux encodages, ASN.1 DER et r‖s brut (IEEE P1363) : octets, high-S ou low-S, choix par défaut de Node.js, Go, Python et Java.

JWT

ES256 vs RS256 pour les JWT : comment choisir, et comment ne pas se brûler les doigts

ES256 vs RS256 pour les JWT : valeurs alg, taille des jetons, liste d’algorithmes épinglée, pourquoi ne jamais accepter alg none, signatures ES256 en r‖s brut.

Algorithmes

ECDSA vs RSA : quel algorithme de signature, et quand

ECDSA vs RSA : tailles de clé et de signature (P-256 vs RSA-3072), vitesse, usage dans TLS, SSH, JWT et blockchains, exigence du nonce, échéances PQC du NIST.

Vous préférez manipuler de vrais octets ? Les outils de Signature Lab s’exécutent entièrement dans votre navigateur.