Я хочу проверить цепочку сертификатов, я получаю коллекцию X509Certificate2
и должен проверить, все ли сертификаты составляют одну цепочку.
Обычно, чтобы проверить цепочку сертификатов, я должен взять цифровую подпись из листового сертификата и проверить, подписан ли он корневым сертификатом - , но в .NET я не могу найти способ для извлечения подписи из объекта X509Certificate2
.
Поэтому я подумал об использовании метода X509Chain.Build ()
следующим образом:
void ValidateChain(X509Certificate2Collection collection, X509Certificate2 leaf)
{
X509Chain x509Chain = new X509Chain();
x509Chain.ChainPolicy.ExtraStore.AddRange(collection);
bool isValid = x509Chain.Build(leaf);
}
Но у меня есть несколько вопросов о методе сборки:
ExtraStore
, как я могу определить это поведение? Я буду очень признателен, если кто-нибудь объяснит мне, как работает метод Build ()
.