Путь, который вы ищете, это «Каталог для файлов OpenSSL».В ответ на @ tnbt , openssl version -d
(или -a
) указывает путь к этому каталогу.OpenSSL ищет здесь файл с именем cert.pem
и подкаталог certs/
.Сертификаты, которые он там находит, считаются доверенными openssl s_client
и openssl verify
(источник: статья, Какие центры сертификации распознает OpenSSL? ).
% openssl version -d
OPENSSLDIR: "/opt/local/etc/openssl"
% ls -l /opt/local/etc/openssl/cert*
lrwxr-xr-x 1 root admin 40 29 Nov 02:05 /opt/local/etc/openssl/cert.pem -> /opt/local/share/curl/curl-ca-bundle.crt
% head -10 /opt/local/etc/openssl/cert.pem
##
## Bundle of CA Root Certificates
##
## Certificate data from Mozilla as of: Fri Nov 24 08:00:26 2017 GMT
##
## This is a bundle of X.509 certificates of public Certificate Authorities
## (CA). These were automatically extracted from Mozilla's root certificates
## file (certdata.txt). This file can be found in the mozilla source tree:
## https://hg.mozilla.org/releases/mozilla-release/raw-file/default/security/nss/lib/ckfw/builtins/certdata.txt
##
...[rest of file omitted]...
Оказывается, что установщик, который установил OpenSSL в моей системе, также установил cert.pem
как символическую ссылку на пакет сертификатов центра сертификации из инструмента cUrl
.Те, в свою очередь, пришли из Mozilla.
Возможно, в этом файле или каталоге ничего не установлено, или у вас может быть другой набор сертификатов.Это будет влиять на то, какие сертификаты сервера проверяет OpenSSL.
Команды OpenSSL, такие как s_client
поддержка, я думаю, начиная с версии 1.1, опции -no-CAfile
и -no-CApath
.Это позволяет вам игнорировать сертификаты в этом файле и каталоге соответственно на протяжении одной команды.(Я не могу воспроизвести это, потому что я все еще использую версию 1.0.2, и у нее нет этих опций.)