Есть ли способ настроить openssl так, чтобы он использовал какой-либо файл CA по умолчанию (например ,/etc/ssl/certs/ca-certificates.crt) при запуске команды s_client без указанной опции -CAfile?
Файл конфигурации - это не ответ. Он разбит на разделы с помощью линий с квадратными скобками, например [default_CA]
и [req_exts]
. Есть несколько разделов, все openssl
подкоманды читаются (для движков и addOID), но помимо этого используются только разделы, которые применяются к конкретной подкоманде, а иногда и режим этой подкоманды, и никакие такие разделы не применяются к s_client
.
В библиотеке предусмотрена процедура SSL_CTX_default_verify_paths
для приложений для вызова (и я считаю, что многие / большинство других приложений это делают) и используемые там местоположения действительно зависят от системы (или упаковщика) EDIT: или также могут быть установлены переменными среды. Но s_client.c вызывает эту процедуру, только если вы делать укажите хотя бы один допустимый аргумент -CA {file, path}, если вы этого не сделаете, что кажется бесполезным. На это есть билет от 2010 года, действие которого не показано.