OpenSSL не использует каталог CA
OpenSSL не будет проверять сертификат
$openssl s_client -connect <host>:443
...
Verify return code: 21 (unable to verify the first certificate)
Тем не менее, если мы выясним расположение магазина
$ openssl version -d
OPENSSLDIR: "/usr/lib/ssl"
$ ll /usr/lib/ssl
...
lrwxrwxrwx 1 root root 14 Sep 9 16:40 certs -> /etc/ssl/certs
И снова запустите команду, указав, что является каталогом по умолчанию
$ openssl s_client -connect <host>:443 -CApath /etc/ssl/certs
...
Verify return code: 0 (ok)
Так есть ли какой-то другой способ явно проверить, где OpenSSL получает свой список корневых CA, или какой-то другой крайний случай, который может быть затронут здесь, который может вызвать такое поведение?
1 ответ
Видимо я просто описываю OpenSSL s_client
предполагаемое поведение - https://bugs.launchpad.net/ubuntu/+source/openssl/+bug/396818
Кажется, что эта команда была бы намного более полезной, если бы она использовала стандартный путь CApath, ну, по умолчанию (или предупредил, что вы не используете ни один из них, как предполагает отчет об ошибке), но c'est le vie.