openssl не находит сертификаты, если не указано с -CAfile

Я уже несколько дней борюсь с openssl.

Я скомпилировал openssl на устройстве ARM, и когда я запускаю openssl s_client -connect google.com:443, соединение прерывается с ошибкой 20: невозможно получить сертификат местного эмитента .

Если я запустил эту команду, указав -CAfile /etc/ssl/certs/ca-certificates.crt, соединение будет работать и вернет , проверьте код возврата: 0 (ok) . m борется с openssl уже несколько дней. Я скомпилировал openssl на устройстве ARM, и когда я запускаю openssl s_client -connect google.com:443, соединение прерывается с ошибкой 20: невозможно получить локальный ...

Я уже несколько дней борюсь с openssl.

Я скомпилировал openssl на устройстве ARM, и когда я запускаю openssl s_client -connect google.com:443, соединение прерывается с ошибкой 20: невозможно получить сертификат местного эмитента .

Если я запустил эту команду, указав -CAfile /etc/ssl/certs/ca-certificates.crt, соединение заработает и вернет , проверьте код возврата: 0 (ok) . m борется с openssl несколько дней. Я скомпилировал openssl на устройстве ARM, и когда я запускаю openssl s_client -connect google.com:443, соединение прерывается с ошибкой 20: невозможно получить локальный ...

Я уже несколько дней борюсь с openssl.

Я скомпилировал openssl на устройстве ARM, и когда я запускаю openssl s_client -connect google.com:443, соединение прерывается с ошибкой 20: невозможно получить сертификат местного эмитента .

Если я запустил эту команду, указав -CAfile /etc/ssl/certs/ca-certificates.crt, соединение заработает и вернет , проверьте код возврата: 0 (ok) . Другой тест, который я сделал, - это запустить команду с помощью -CApath / etc / ssl / certs / , в этом случае я все равно получу ошибку 20

Поскольку OPENSSLDIR - это / usr / lib / ssl Мне удалось связать его с / etc / ssl / certs, теперь в файловой системе этот каталог выглядит следующим образом:

ls -l /usr/lib/ssl
certs -> /etc/ssl/certs

Я не понимаю, что мне не хватает, и как установить каталог, в котором openssl должен искать сертификаты. У кого-то была подобная проблема?

1
задан 16 November 2017 в 16:35
1 ответ

Каталог, указанный в CApath, должен иметь особую структуру. Из OpenSSL docs

Если CApath не NULL, он указывает на каталог, содержащий сертификаты CA в формате PEM. Каждый файл содержит один сертификат CA . Файлы ищутся по хэш-значению имени субъекта CA, которое, следовательно, должно быть доступно. Если существует более одного сертификата CA с одинаковым значением хэша имени, расширение должно быть другим (например, 9d66eef0.0, 9d66eef0.1 и т. Д.). Поиск выполняется в порядке следования добавочных номеров, независимо от других свойств сертификатов. Используйте утилиту c_rehash для создания необходимых ссылок

Если я не ошибаюсь, вы можете использовать каталог как CApath, если:

  • Он содержит файлы в формате pem, содержащие полномочия в каждом файле.
  • Вы запустите c_rehash (или создайте вручную соответствующие символические ссылки) в нем.
1
ответ дан 3 December 2019 в 23:23

Теги

Похожие вопросы