| ||||
| ||||
Добрый день, пусть имеется pfx- файл с полной цепочкой сертификатов. Читаю файл, с помощью PFXImportCertStore получаю временное хранилище с цепочкой сертификатов, начинаю их перечисление с CertEnumCertificatesInStore Теперь их необходимо положить в соответствующие хранилища. Как в общем случае определить по CERT_CONTEXT, что это рутовый сертификат? Личный сертификат я определяю по наличию соотв. ключевой пары. Как определить промежуточные сертификаты между личным и рутовым сертификатом? Т.е те, что надо положить в системное хранилище "CA". P.S. Где можно найти информацию об структуре *.PFX, *.P12 - файлов(помимо стандарта RSA PKCS #12) ? | ||||
Ответы: | ||||
| ||||
Рутовый сертфикат - это самоподписанный сертификат, у которого Issuer и Subject совпадают - вот 2 признака. Промежуточные сертифкаты можно достать построив цепочку для этого хранилища - CertGetCertificateChain. Правда рутовый сертификат уже должен быть установлен для этого. | ||||