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