В чем разница между X509_STORE и X509_STORE_CTX.? - PullRequest
7 голосов
/ 11 июля 2011

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

1 Ответ

10 голосов
/ 11 июля 2011

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

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

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

Думайте о X509_STORE как о вашей конфигурации, а X509_STORE_CTX - о состоянии одного разаobject.

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

...