Я пытаюсь программно импортировать сертификат X509 (pfx/PKCS # 12) в хранилище сертификатов локального компьютера. Этот конкретный сертификат имеет цепочку сертификатов, путь сертификации выглядит примерно так:
- Корневой сертификат CA
- Сертификат организации CA
- Сертификат организации 2 CA
- Мой сертификат
- Сертификат организации 2 CA
- Сертификат организации CA
Используемый мной код выглядит так:
cert = new X509Certificate2(pathToCert, password);
if (cert != null)
{
var store = new X509Store(StoreName.My, StoreLocation.LocalMachine);
store.Open(OpenFlags.ReadWrite);
if (!store.Certificates.Contains(cert))
{
store.Add(cert);
}
}
Этот код импортирует сертификат, но, похоже, он игнорирует цепочку. Если я проверяю сертификат в магазине, путь сертификации показывает только:
- Мой сертификат
Однако, когда я импортирую pfx вручную, он показывает полный путь. Могу ли я пропустить шаг здесь, или мне не хватает какого-то параметра? Может кто-то пролить свет на это?