Generador de Huella de Certificado

Genera huellas SHA-256 y SHA-1 de certificados

Certificate (PEM Format)

About Fingerprints

Certificate fingerprints are cryptographic hashes used to uniquely identify certificates.

SHA-256 is recommended for modern applications.

Fingerprints

Paste a PEM certificate to generate fingerprints

El Certificate Fingerprint Generator calcula hashes criptográficos SHA-256, SHA-1 y MD5 de certificados X.509, produciendo los identificadores únicos utilizados para certificate pinning, verificación fuera de banda y auditoría de seguridad, todo calculado localmente en tu navegador. Pega un certificado PEM y obtén fingerprints en formato hexadecimal separado por dos puntos, hexadecimal continuo y base64.

Entendiendo los fingerprints de certificados

Un fingerprint de certificado no es un campo almacenado dentro del certificado en sí. Es un hash criptográfico calculado sobre los bytes completos del certificado codificado en DER. Piensa en él como un resumen compacto de todo el certificado: cambia un solo bit en cualquier parte del certificado -- un número de serie diferente, una fecha de validez diferente, un emisor diferente -- y obtienes un fingerprint completamente diferente. Esta propiedad hace que los fingerprints sean invaluables para identificar y comparar certificados sin necesidad de coincidir cada campo individualmente.

El uso más común de los fingerprints es el certificate pinning. Cuando construyes una aplicación móvil o un cliente API que se conecta a un servidor específico, puedes incrustar el fingerprint SHA-256 esperado del certificado en tu código. Durante el handshake TLS, tu aplicación calcula el fingerprint del certificado del servidor y lo compara con el valor incrustado. Si no coinciden, la conexión se rechaza -- incluso si el certificado es técnicamente válido y está firmado por una CA de confianza. Esto protege contra ataques de intermediario donde un atacante presenta un certificado fraudulento pero firmado por una CA.

Los fingerprints también son esenciales para la verificación fuera de banda. Si alguien te envía un certificado por correo electrónico y quieres confirmar que no ha sido manipulado, puedes llamarle por teléfono y leer el fingerprint SHA-256. Si el fingerprint coincide con lo que ellos calcularon en su extremo, sabes que tienes el mismo certificado. Este flujo de trabajo es común al intercambiar certificados para configuraciones de TLS mutuo entre organizaciones.

Cómo generar un fingerprint de certificado

  1. Pega tu certificado codificado en PEM (comenzando con -----BEGIN CERTIFICATE-----)
  2. La herramienta calcula los fingerprints usando los algoritmos SHA-256, SHA-1 y MD5
  3. Copia el fingerprint en tu formato preferido (hexadecimal separado por dos puntos, hexadecimal continuo o base64)
  4. Usa el fingerprint para configuración de pinning, documentación o verificación

Formatos de salida de fingerprint de certificado

El generador produce fingerprints en múltiples representaciones para diferentes casos de uso:

FormatoEjemploUsado por
Hexadecimal separado por dos puntosA1:B2:C3:D4:E5:F6:78:9A:...OpenSSL, verificación manual
Hexadecimal continuoA1B2C3D4E5F6789A...Comparación programática
Base64obLD1OX2mno=...HPKP, pinning en Android e iOS

Comparación de algoritmos

AlgoritmoLongitud del hashEstado
SHA-25664 caracteres hexadecimales (256 bits)Estándar recomendado
SHA-140 caracteres hexadecimales (160 bits)Heredado, todavía se ve en herramientas antiguas
MD532 caracteres hexadecimales (128 bits)Obsoleto, no para uso de seguridad

Ejemplo de generación de fingerprint

Para un certificado con CN=www.example.com:

SHA-256 Fingerprint:
  Hex:    B4:5A:E2:C3:7F:D1:92:4B:88:E6:A0:3C:55:71:F8:09:
          2D:A4:C6:B7:E8:1F:3A:50:96:D2:44:7B:CC:8E:15:61
  Base64: tFriw3/RkksI5qA8VXH4CS2kxrfoHzpQltJEe8yOFWE=

SHA-1 Fingerprint:
  Hex:    9A:C2:D5:F7:11:3B:8E:44:6D:A9:01:C3:77:52:BB:DE:FF:08:91:23

MD5 Fingerprint:
  Hex:    4D:2B:9A:C1:E5:F3:78:06:AA:11:DD:55:B2:C4:E6:F8

Cuándo usar esta herramienta

  • Implementación de certificate pinning -- extrae fingerprints SHA-256 para fijar certificados en aplicaciones móviles (Android network-security-config.xml o iOS Info.plist)
  • Verificación fuera de banda -- compara fingerprints por un canal separado para confirmar que tienes el certificado correcto
  • Auditorías de seguridad -- documenta los fingerprints de certificados en políticas de seguridad e informes de cumplimiento
  • Comparación entre entornos -- verifica que los certificados desplegados en staging, producción y CDN coincidan comparando fingerprints
  • Configuración de proxy de inspección TLS -- configura fingerprints de certificados de confianza para las allowlists de interceptación del proxy
  • Detección de cambios -- compara fingerprints antes y después de operaciones de certificados para confirmar si un certificado fue realmente reemplazado

Cómo funcionan los fingerprints de certificados

Un fingerprint de certificado es un hash criptográfico de todo el certificado codificado en DER. No es un campo dentro del certificado -- se calcula sobre los bytes crudos del certificado. Esto significa que cualquier cambio en el certificado, sin importar cuán pequeño, produce un fingerprint completamente diferente.

El fingerprint identifica de manera única un certificado específico. Dos certificados con diferentes períodos de validez, números de serie o emisores tendrán fingerprints diferentes incluso si comparten la misma clave pública y sujeto. Esta distinción importa: el certificate pinning fija a un certificado específico, mientras que el public key pinning fija a la clave independientemente de qué certificado la contenga.

Pinning con SHA-256

El certificate pinning en producción siempre debería usar SHA-256. El flujo de implementación típico:

  1. Extrae el fingerprint SHA-256 del certificado hoja de tu servidor
  2. Incrusta el fingerprint en el código o la configuración de tu aplicación
  3. Durante el handshake TLS, calcula el fingerprint del certificado recibido
  4. Compara con el fingerprint almacenado -- rechaza si no coinciden

Calcular fingerprints con OpenSSL

Puedes verificar la salida de esta herramienta contra OpenSSL:

# Fingerprint SHA-256
openssl x509 -in cert.pem -noout -fingerprint -sha256

# Fingerprint SHA-1
openssl x509 -in cert.pem -noout -fingerprint -sha1

# Fingerprint MD5
openssl x509 -in cert.pem -noout -fingerprint -md5

Mejores prácticas de fingerprints

La decisión más importante en el certificate pinning es elegir entre fijar el fingerprint del certificado y fijar el hash de la clave pública. Los fingerprints de certificados son más simples de implementar -- haces hash de todo el certificado y comparas -- pero se rompen cada vez que renuevas porque un certificado renovado tiene diferentes fechas de validez, número de serie y firma, produciendo un fingerprint diferente. Si fijas un fingerprint de certificado sin un plan de rotación, tu aplicación dejará de conectarse en el momento en que se renueve el certificado. Siempre fija al menos dos fingerprints: el certificado actual y el próximo que planeas desplegar.

El public key pinning, por el contrario, sobrevive a la renovación siempre que reutilices el mismo par de claves. Muchos equipos prefieren este enfoque porque desacopla el pinning del ciclo de renovación. Sin embargo, si tu política de seguridad requiere rotación de claves en cada renovación, el public key pinning no ofrece ninguna ventaja y vuelves a gestionar actualizaciones de pins. De cualquier manera, necesitas una estrategia para rotar pins antes de que el certificado o clave actual se retire.

Al documentar certificados para cumplimiento u operaciones, incluye el fingerprint SHA-256 junto con el sujeto, emisor y fecha de expiración. Los fingerprints te dan un identificador inequívoco que es mucho más confiable que comparar nombres de sujeto, que pueden ser idénticos en múltiples certificados. Si necesitas rastrear un certificado específico entre balanceadores de carga, nodos CDN y sistemas de monitoreo, el fingerprint es la referencia canónica.

Preguntas frecuentes

¿Cuál es la diferencia entre un fingerprint de certificado y un hash de clave pública? Un fingerprint de certificado hace hash de todo el certificado (incluyendo sujeto, emisor, validez y la clave pública). Un hash de clave pública solo cubre la porción SubjectPublicKeyInfo. Los fingerprints de certificados cambian cuando renuevas un certificado, incluso si reutilizas la misma clave. Los hashes de clave pública permanecen estables entre renovaciones con el mismo par de claves, razón por la cual algunas implementaciones de pinning los prefieren.

¿Qué algoritmo de fingerprint debería usar? Usa SHA-256 para todas las implementaciones nuevas. SHA-1 tiene ataques de colisión conocidos y solo se necesita para compatibilidad con sistemas heredados que no soportan SHA-256. MD5 está criptográficamente roto y nunca debería usarse para verificación sensible a la seguridad.

¿Cómo calculo un fingerprint con OpenSSL para comparar? Ejecuta openssl x509 -in cert.pem -noout -fingerprint -sha256 para producir el fingerprint SHA-256 en formato hexadecimal separado por dos puntos. Compara esta salida carácter por carácter con el resultado de esta herramienta para verificar la consistencia.

¿Pueden dos certificados diferentes tener el mismo fingerprint? En la práctica, no. SHA-256 produce un hash de 256 bits, y encontrar dos entradas diferentes que produzcan el mismo hash (una colisión) es computacionalmente inviable con la tecnología actual. Se han demostrado colisiones de SHA-1 en investigación, lo cual es una razón por la que SHA-256 es el estándar recomendado.

¿Los fingerprints de certificados cambian cuando el formato del certificado cambia de DER a PEM? No. El fingerprint siempre se calcula sobre los bytes codificados en DER, independientemente de cómo se almacene o transmita el certificado. Convertir entre DER y PEM no cambia los datos DER subyacentes, por lo que el fingerprint permanece igual.

Herramientas relacionadas

IPparse•Herramientas gratuitas de cálculo de redes y subredes

© 2026 IPparse. All tools run locally in your browser.

100% Privacy-First • No Data Collected