Saltar al contenido
ecdsa.com
OpenSSL CLI (openssl x509 / verify)CLI de OpenSSL

Mensaje de error

unable to load certificate

Texto de OpenSSL 1.1.x. OpenSSL 3.0 imprime «Could not read certificate from cert.pem» seguido de «Unable to load certificate» con U mayúscula; OpenSSL 3.5 y posteriores imprimen «Could not find certificate from cert.pem» más una línea de la pila de errores de STORE routines (reproducido con 3.0.2 y 3.6.4). El texto varía según la versión; el fallo es idéntico.

Qué significa

openssl x509 (u otro comando que lee certificados) no pudo extraer un certificado del archivo. La entrada es otro objeto PEM (una clave, una CSR), está en una codificación binaria incorrecta o es un texto que ni siquiera es una estructura X.509: el comando no llegó a leer ningún campo. Como los archivos de certificado se llaman .crt o .cer sea cual sea su codificación, el nombre del archivo no dice nada aquí; solo los bytes lo hacen.

Por qué ocurre

Cómo solucionarlo

  1. 1.

    Identificar y después convertir

    Comprueba la etiqueta o los primeros bytes; convierte DER a PEM si hace falta.

    bash
    head -1 cert.file          # BEGIN what?
    openssl x509 -inform der -in cert.der -out cert.pem   # DER → PEM
  2. 2.

    Desempaquetar los formatos contenedor

    Extrae los certificados de los paquetes PKCS#7 y PKCS#12 a PEM simple.

    bash
    openssl pkcs7 -print_certs -in bundle.p7b -out certs.pem
    openssl pkcs12 -in bundle.pfx -clcerts -nokeys -out cert.pem
  3. 3.

    Para una CSR, usar el comando req

    Si el archivo es una solicitud, inspecciónala con req, y recuerda que todavía tiene que firmarla una CA para convertirse en un certificado.

    bash
    openssl req -in request.csr -noout -text

Errores relacionados

Explorar toda la base de datos de errores de firma