в чем разница между X509_STORE и X509_STORE_CTX.?

Может ли кто-нибудь сказать мне, как цепочка доверия сертификатов формируется с помощью этих структур и что представляют собой эти две структуры?


person Balamurugan    schedule 11.07.2011    source источник


Ответы (1)


Взято из исходного кода в x509vfy.h:

X509_STORE содержит таблицы и т. д. для проверки. X509_STORE_CTX используется при проверке одного сертификата. X509_STORE имеет X509_LOOKUP для поиска сертификатов. Затем X509_STORE вызывает функцию для фактической проверки цепочки сертификатов.

X509_STORE представляет более или менее вашу глобальную настройку проверки сертификата, где вы храните промежуточные сертификаты и CRL. Хранилище можно использовать несколько раз, тогда как вы настраиваете X509_STORE_CTX только для выполнения одной проверки, после чего вы отбрасываете/освобождаете его.

Думайте о X509_STORE как о своей конфигурации, а о X509_STORE_CTX — как о одноразовом объекте с отслеживанием состояния.

Если вы хотите убедиться в этом сами, я рекомендую скачать исходники и взглянуть на app/verify.c.

person emboss    schedule 11.07.2011