Перейти к содержимому
ecdsa.com
OpenSSL CLI (openssl x509 / verify)OpenSSL CLI

Сообщение об ошибке

unable to load certificate

Формулировка OpenSSL 1.1.x. OpenSSL 3.0 выводит «Could not read certificate from cert.pem», а за ним «Unable to load certificate» с заглавной U; OpenSSL 3.5 и новее выводят «Could not find certificate from cert.pem» и строку стека STORE routines (воспроизведено на 3.0.2 и 3.6.4). Формулировка зависит от версии, ошибка одна и та же.

Что это означает

openssl x509 (или другая команда, принимающая сертификаты) не смогла извлечь сертификат из файла. Во входных данных другой объект PEM (ключ, CSR), не та двоичная кодировка или текст, в котором вообще нет структуры X.509: до чтения полей команда так и не дошла. Файлы сертификатов называют .crt или .cer независимо от кодировки, поэтому имя файла здесь ничего не говорит; говорят только байты.

Почему это происходит

Как исправить

  1. 1.

    Определите формат, затем преобразуйте

    Посмотрите на метку или первые байты; при необходимости преобразуйте DER в PEM.

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

    Распакуйте контейнерные форматы

    Извлеките сертификаты из пакетов PKCS#7 и PKCS#12 в обычный PEM.

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

    Для CSR используйте команду req

    Если в файле запрос, разберите его командой req и помните: чтобы стать сертификатом, его ещё должен подписать CA.

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

Связанные ошибки

Открыть всю базу ошибок подписей