как прочитать использование ключа сертификата X509 V3?

Я хочу прочитать поле использования ключа в сертификате. Доступен ли API в openssl?


person Balamurugan    schedule 03.04.2012    source источник
comment
Проверьте ссылку ниже, вы получите ответ stackoverflow.com/questions/10011730/   -  person Balamurugan    schedule 16.04.2012


Ответы (3)


Вы можете попробовать использовать следующую команду в openssl.

openssl x509 -in <certificate to check> -purpose -noout -text

Это распечатает список целей сертификата и сам сертификат.

person Lancer-Matrix    schedule 04.04.2012
comment
Мне нужно получить это в коде c. Спасибо за ваш комментарий. Я проверю исходный код этой команды. - person Balamurugan; 05.04.2012

7 лет спустя...

Более новые версии openssl позволяют запрашивать расширения сертификатов, используя флаг -ext.

Использование ключа печати:

$> openssl x509 -noout -ext keyUsage < test.crt
X509v3 Key Usage: critical
    Digital Signature, Key Encipherment

Распечатать использование расширенного ключа:

$> openssl x509 -noout -ext extendedKeyUsage < test.crt
X509v3 Extended Key Usage: 
    TLS Web Server Authentication, TLS Web Client Authentication

Обратите внимание: если вы хотите распечатать несколько расширений одновременно, вам нужно разделить их запятой, а не использовать флаг -ext несколько раз:

$> openssl x509 -noout \
   -ext keyUsage,extendedKeyUsage < test.crt
person Yan Foto    schedule 15.11.2019

Предыдущие решения вам нужно найти внутри файла результатов/вывести строку «Использование ключа». Я получил следующее решение, которое содержит именно строку внутри сертификата использования ключа X509.

openssl s_client -showcerts -connect SERVER_HERE:443 </dev/null 2>/dev/null|openssl x509 -text |grep v "$(grep -E -A1 "Key Usage")"

Приведенная выше команда получает сертификат, анализирует текст и находит строку «Использование ключа» и представляет следующую строку в результате, которая представляет значение для этого конкретного поля на X509.

//Ваше здоровье

person Rafael Gorski    schedule 12.07.2014