Saltar al contenido
ecdsa.com

Aprender

Guías breves y técnicas sobre cómo funcionan realmente las firmas digitales: los algoritmos, los formatos a nivel de bytes y los errores de configuración que hacen fallar la verificación. Pensadas para esos momentos en los que una firma se niega a verificarse y el mensaje de error no te dice nada.

TLS

Certificados TLS de 47 días: calendario y qué automatizar

La votación SC-081 reduce los certificados TLS públicos a 200, 100 y 47 días, y la reutilización de la validación de dominio a 10. Perfiles ACME, ARI y alertas.

Cadena de suministro

Esquemas de firma APK v1 a v4, rotación de claves y Play

Firma de APK de Android: esquemas v1 a v4, rotación de claves con v3 y v3.1, el nuevo v3.2 híbrido con ML-DSA, Play App Signing y la salida de apksigner verify.

Cadena de suministro

Firma Authenticode: claves, sellos de tiempo, verificación

Cómo firma Authenticode los ejecutables de Windows: claves en HSM desde 2023, sellos de tiempo que sobreviven al certificado, signtool y osslsigncode.

Bitcoin

Firma de mensajes en Bitcoin: BIP-137 y BIP-322 explicados

Firma de mensajes en Bitcoin: encabezados BIP-137, pruebas BIP-322 simples y completas, tipos de dirección, billeteras compatibles y verificación en 2026.

Cadena de suministro

Credenciales C2PA: manifiestos, firmas y límites

Credenciales de contenido C2PA: manifiestos, claims y firmas COSE, confianza y sellos de tiempo, estados de validación y por qué se pierden al recodificar.

TLS

Fijación de certificados en 2026: cuándo y cómo fijar bien

Fijación de certificados hoy: por qué los navegadores dejaron HPKP, pines SPKI en Android, iOS y OkHttp, riesgo de bloqueo con certificados cortos y rotación.

PKI

Certificate Transparency para programadores: SCT y alertas

Cómo funciona Certificate Transparency en 2026: SCT y logs, reglas de Chrome, Apple y Firefox, búsqueda de certificados (Cert Spotter, crt.sh) y monitorización.

Correo electrónico

Por qué falla DKIM: hash del cuerpo, firma, claves y DNS

Por qué falla DKIM: canonicalización, hash del cuerpo distinto, reenvío, listas de correo, etiqueta l=, tamaño de clave y DNS. Fallos reproducidos y soluciones.

DNS

Cadena de confianza DNSSEC: DS, DNSKEY, RRSIG y qué falla

Cómo avanza la validación DNSSEC de la raíz a tu registro: DS, DNSKEY, RRSIG, algoritmos 8, 13 y 15, comprobaciones con dig y delv y fallos al rotar claves.

DPoP

DPoP: cómo vincular tokens OAuth a una clave del cliente

Cómo DPoP (RFC 9449) vincula tokens de acceso OAuth a una clave del cliente: JWT de prueba, jti, htm, htu, ath, nonces, cnf.jkt y un verificador probado.

Algoritmos

Recuperación de clave pública ECDSA: recid, v y ecrecover

Recuperación de la clave pública en ECDSA: matemáticas, ID de recuperación y v, ecrecover de Ethereum, firmas compactas de Bitcoin, EIP-2098 y fallos típicos.

Ethereum

EIP-712: qué firmas realmente y cómo leerlo

Datos tipados EIP-712: dominio, tipos y hash, permits ERC-2612, Permit2, aprobaciones ilimitadas y cómo leer una solicitud de firma antes de firmar.

JWT

ES256 frente a EdDSA para JWT: cuál elegir en 2026

ES256 o EdDSA (Ed25519) en JWT: tamaño, determinismo, maleabilidad, velocidad, 13 bibliotecas probadas, KMS y HSM, el nuevo nombre Ed25519 y qué elegir en 2026.

Gestión de claves

Claves en hardware: Secure Enclave, StrongBox, TPM, PIV

Qué garantizan las claves en hardware: Secure Enclave de Apple, TEE y StrongBox de Android, TPM 2.0 y PIV de YubiKey, la atestación que lo prueba y sus límites.

Firmas HTTP

Firmas de mensajes HTTP (RFC 9421) para API y bots

Firmas HTTP (RFC 9421): componentes cubiertos, Signature-Input, claves, repetición, controles en el servidor y Web Bot Auth para rastreadores y agentes de IA.

JWT

Rotación de claves JWKS sin interrupciones

Rota claves de firma JWT sin solicitudes fallidas: reglas de kid, solapamiento, Cache-Control, caché de verificadores en 7 bibliotecas y eliminación urgente.

JWT

Errores al verificar JWT que dejan pasar tokens no válidos

Errores al verificar JWT que aún se cometen: alg del encabezado, confusión HS/RS, kid, aud, iss, exp, desfase de reloj y caché de JWKS, con código corregido.

Criptografía poscuántica

ML-DSA (FIPS 204) para desarrolladores: claves y firmas

ML-DSA (FIPS 204): tamaños 44/65/87, firma hedged o determinista, contexto, HashML-DSA, formatos de clave y código probado para OpenSSL, Go, Java y .NET.

TLS

TLS mutuo para API: certificados de cliente en la práctica

TLS mutuo para API: certificados de cliente en TLS 1.3, CA privada, configuración de nginx, Envoy, Go y Node.js, rotación y los errores que muestra cada uno.

PKI

OCSP y CRL en 2026: cómo se comprueba hoy la revocación

Let's Encrypt dejó OCSP, CRL obligatorias, CRLite y CRLSets en navegadores: qué comprueban por defecto Java, .NET, Go, Python, Node.js y curl y cómo corregirlo.

OpenID Connect

Validación del token de ID de OIDC, paso a paso

Valida un token de ID de OpenID Connect como exige Core 3.1.3.7: iss, aud, azp, firma, exp, nonce, at_hash y c_hash, y las rarezas de Entra ID, Google y Auth0.

Cadena de suministro

OpenPGP en 2026: RFC 9580, claves v6 y el cisma de GnuPG

OpenPGP hoy: RFC 9580 y claves v6, Ed25519 y X25519, el RFC 9980 poscuántico, LibrePGP de GnuPG frente a Sequoia, pruebas de interoperabilidad y consejos.

Llaves de acceso

Passkeys para desarrolladores: WebAuthn sin conjeturas

Passkeys y WebAuthn: registro, inicio de sesión, atestación, passkeys sincronizadas, verificación del usuario, algoritmos COSE y errores DOMException, probados.

Documentos

Firmas PDF: cómo funcionan ByteRange, CMS, PAdES y LTV

Cómo funciona una firma PDF: ByteRange, objeto CMS, niveles PAdES, sellos de tiempo RFC 3161, LTV, por qué es válida pero no de confianza y cómo comprobarla.

Java

PKIX path building failed en Java: causas y soluciones

Por qué Java lanza PKIX path building failed: CA privada, sin intermedio, otro almacén de confianza, raíz antigua, SNI. Cómo diagnosticar y corregir cada caso.

Criptografía poscuántica

Migración poscuántica en 2026: plan para desarrolladores

Qué es ya poscuántico por defecto en 2026, qué falta cambiar y los plazos reales (NIST IR 8547, CNSA 2.0, UE, Reino Unido) para intercambio de claves y firmas.

SAML

Validación de firmas SAML: qué comprobar y por qué

Cómo validar firmas SAML: referencias XMLDSig, canonicalización, por qué leer los datos del elemento firmado y los controles de Audience, Recipient y tiempo.

SD-JWT

SD-JWT y SD-JWT VC: divulgación selectiva en carteras EUDI

SD-JWT (RFC 9901) y SD-JWT VC: claims ocultos tras resúmenes con sal, vinculación de clave contra la repetición, carteras EUDI, mdoc y estado en 2026.

Algoritmos

secp256k1 explicada: la curva de Bitcoin y Ethereum

secp256k1 explicada: parámetros, endomorfismo que la acelera, por qué la usan Bitcoin y Ethereum, low-S, codificación de claves y direcciones, compatibilidad.

Ethereum

Sign-In with Ethereum (EIP-4361): verificar en el servidor

Sign-In with Ethereum: mensaje EIP-4361, comprobación de nonce, dominio y URI, verificación en el servidor y ERC-1271 y ERC-6492 para billeteras inteligentes.

Cadena de suministro

Firmar versiones con Sigstore: cosign, bundles e identidad

Firma keyless con Sigstore: certificados de Fulcio, el registro Rekor, bundles de cosign, verificar al firmante, npm provenance y atestaciones de GitHub.

Gestión de claves

Firma con KMS en la nube: AWS, Google Cloud y Azure

Firma con AWS KMS, Google Cloud KMS y Azure Key Vault: tipos de clave, resumen o mensaje, ECDSA DER o en bruto, JWT y archivos, permisos y auditoría.

SSH

Certificados SSH frente a authorized_keys: CA y principals

Certificados OpenSSH en vez de authorized_keys: CA de usuarios y hosts, principals, validez, ssh-keygen -s, sshd, revocación con KRL y los errores que verás.

SSH

ssh-keygen en 2026: claves, frases de contraseña y agentes

Qué clave SSH generar en 2026: Ed25519, FIDO -sk, el nuevo híbrido ML-DSA, RSA 3072; rondas de KDF, riesgos del reenvío del agente, certificados y rotación.

TLS

X25519MLKEM768: intercambio de claves híbrido en TLS 1.3

Cómo funciona el grupo híbrido X25519MLKEM768 en TLS 1.3: tamaños del key share, código 0x11EC, quién lo activa por defecto, cómo probarlo y qué puede romper.

PKI

Campos del certificado X.509 explicados con casos reales

Campos X.509 en certificados reales: sujeto frente a SAN, Key Usage y EKU, Basic Constraints, AKI y SKI, CRL, OCSP y AIA, SCT y qué significa hoy cada regla.

Modos de fallo

Reutilización del nonce en ECDSA: cómo un número repetido revela una clave privada

Por qué reutilizar el nonce k de ECDSA filtra la clave privada: derivación, fallos de PlayStation 3 y Android, r repetidos en Bitcoin y la solución RFC 6979.

Formatos

Formatos de firma ECDSA: DER frente a raw (P1363), high-S y trampas entre bibliotecas

Una firma ECDSA, dos codificaciones (ASN.1 DER y r‖s en bruto, IEEE P1363): bytes, high-S y low-S, y el formato por defecto de Node.js, Go, Python y Java.

JWT

ES256 frente a RS256 para JWT: cómo elegir y cómo evitar disgustos

ES256 frente a RS256: valores alg de JWT, tamaño del token, fijación de algoritmos permitidos, por qué nunca aceptar alg none y por qué ES256 usa r‖s en bruto.

Algoritmos

ECDSA frente a RSA: qué algoritmo de firma usar y cuándo

ECDSA frente a RSA: tamaños de clave y firma (P-256 y RSA-3072), velocidad, uso en TLS, SSH, JWT y blockchain, el requisito del nonce y plazos PQC del NIST.

¿Prefieres experimentar con bytes reales? Las herramientas de Signature Lab se ejecutan por completo en tu navegador.