2015-10-02 3 views
0

У меня есть три сертификата и вам нужно их проверить друг с другом. 1 сертификат корня и 2 листа сертификата.X509Certificate2 проверка цепи (проверка) в C#

Попытка с этим блоком кода:

 bool retVal = false; 

     X509Chain chain = new X509Chain(); 

     chain.ChainPolicy.ExtraStore.Add(rootCertificate.X509); 

     chain.ChainPolicy.RevocationMode = X509RevocationMode.NoCheck; 

     retVal = chain.Build(leafCertificate.X509); 

     return retVal; 

Im получение всегда ложно. Невозможно найти какой-либо другой способ в Интернете.

Спасибо за помощь.

ответ

1

Если вы добавили ненадежный сертификат (сертификаты) в цепочку, вам необходимо подтвердить с помощью знака AllowUnknownCertificateAuthority. Попробуйте добавить

chain.ChainPolicy.VerificationFlags = X509VerificationFlags.AllowUnknownCertificateAuthority; 

перед вызовом chain.Build().

Смежные вопросы