Как проверить в openssl c ++, является ли строка сертификатом, и если да, если эта строка является корневым сертификатом - PullRequest
1 голос
/ 26 декабря 2010

Я работаю в среде gcc. Мне нужно реализовать две функции:

1) функция, которая проверяет, является ли данная строка сертификатом.

2) функция, которая проверяет, является ли данная строка корневым сертификатом.

Я хочу использовать openssl.

как я могу это сделать?

1 Ответ

3 голосов
/ 27 декабря 2010
  1. рассмотрим функции d2i_X509 и связанные .
  2. Технически, корневой сертификат - это любой сертификат, которому доверяет приложение, без дальнейшей проверки. Так что вам решать, какие сертификаты являются корневыми сертификатами. По договоренности у корневых сертификатов имена эмитентов и субъектов идентичны. Вы можете получить имена эмитента и субъекта из сертификатов X509 с

    X509_NAME *X509_get_subject_name(X509 *a);
    X509_NAME *X509_get_issuer_name(X509 *a);

и сравните их с

int     X509_NAME_cmp(const X509_NAME *a, const X509_NAME *b);  

способ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...