Как проверить сертификат X509 без импорта корневого сертификата?

Моя программа содержит 2 корневых сертификата, которые я знаю и которым доверяю. Мне нужно проверить сертификаты центров доверия и «пользовательские» сертификаты, выданные центрами доверия, которые все происходят из этих двух корневых сертификатов.

Я использую класс X509Chain для проверки, но это работает только в том случае, если корневой сертификат находится в хранилище сертификатов Windows.

Я ищу способ проверить сертификаты без импорта этих корневых сертификатов - как-нибудь сообщить классу X509Chain, что я доверяю этим корневым сертификатам, и он должен проверять только сертификаты в цепочке и ничего больше.

Фактический код :

        X509Chain chain = new X509Chain();
        chain.ChainPolicy.RevocationMode = X509RevocationMode.NoCheck;
        chain.ChainPolicy.ExtraStore.Add(root); // i do trust this
        chain.ChainPolicy.ExtraStore.Add(trust);
        chain.Build(cert);

Изменить: это приложение .NET 2.0 Winforms.

12
задан RainerM 23 May 2011 в 14:31
поделиться