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.