Я хочу проверить, выпущен ли сертификат судом CA или нет. Я использую следующую команду:Проверьте PEM-сертификат в Bash с кодом ошибки, но введите код OK
openssl verify -verbose -CAfile "/usr/share/jenkins/sub-ca.crt" cert.crt
cert.crt в этом случае самостоятельно подписанный сертификат, поэтому он не выдан суб-ca.crt. sub-ca.crt - сертификат, выданный нашим root-ca. Когда я запускаю команду, он показывает правильную ошибку: отображается
error 18 at 0 depth lookup:self signed certificate
Но в этой строке OK и когда я проверить код с $? Я получаю 0 в качестве кода возврата. Почему команда возвращает OK при возникновении ошибки?
Спасибо за ваш ответ! Есть ли способ проверить код ошибки этой команды? Я должен знать, было ли оно выпущено CA или нет, и самозаверяющий сертификат не подходит для этой цели. – user3296316
Я не думаю, что вы можете сделать это из командной строки (по крайней мере, не очищая текст). Для этого вам нужно будет использовать API libcrypto. –