Я хочу получить родительский сертификат (или все сертификаты в цепочке, если на то пошло) из хранилища сертификатов Windows (при условии, что я знаю расположение конечного сертификата). Мне нужно получить каждый из них, чтобы создать собственный X509_STORE
(используя OpenSSL).
Я думаю, что правильный порядок действий будет следующим:
- получить первый сертификат с помощью
CertFindCertificateInStore
(сделано) - получить цепочку сертификатов с помощью
CertGetCertificateChain
(сделано) - извлечь сертификаты из цепочки (?)
- для каждого сертификата в цепочке преобразовать его с помощью
d2i_X509
(сделано)
or
- получить первый сертификат с помощью
CertFindCertificateInStore
(сделано) - получить родительский сертификат (если существует) (?)
- преобразовать его с помощью
d2i_X509
, перейти к 2. (сделано)
Затем создайте магазин.
Тогда возникает вопрос: как получить родительский сертификат или все сертификаты в цепочке с помощью хранилища сертификатов Windows? Я, вероятно, упускаю здесь какую-то более или менее оккультную функцию.