Pular para o conteúdo
ecdsa.com
OpenSSL CLI (openssl x509 / verify)CLI do OpenSSL

Mensagem de erro

unable to load certificate

Texto do OpenSSL 1.1.x. O OpenSSL 3.0 imprime “Could not read certificate from cert.pem” seguido de “Unable to load certificate” com U maiúsculo; o OpenSSL 3.5 e posteriores imprimem “Could not find certificate from cert.pem” e uma linha de pilha de erros de STORE routines (reproduzido no 3.0.2 e no 3.6.4). O texto varia com a versão; a falha é a mesma.

O que significa

O openssl x509 (ou outro comando que lê certificados) não conseguiu extrair um certificado do arquivo. A entrada é outro objeto PEM (chave, CSR), está na codificação binária errada ou é um texto que nem sequer é uma estrutura X.509 — o comando nem chegou a ler os campos. Como os arquivos de certificado se chamam .crt ou .cer independentemente da codificação, o nome do arquivo não diz nada aqui; só os bytes dizem.

Por que acontece

Como corrigir

  1. 1.

    Identificar e depois converter

    Confira o rótulo ou os primeiros bytes; converta DER para PEM, se necessário.

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

    Desempacotar formatos de contêiner

    Extraia os certificados de pacotes PKCS#7 e PKCS#12 para PEM simples.

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

    Para um CSR, usar o comando req

    Se o arquivo for uma solicitação de certificado, inspecione-o com req — e lembre-se de que a solicitação ainda precisa ser assinada por uma CA para virar um certificado.

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

Erros relacionados

Ver toda a base de erros de assinatura