В настоящее время у меня есть приложение, которое должно проверить, что сертификат доверен конкретному ЦС. Проблема, которую я имею, заключается в том, что сертификат проблем может фактически принадлежать корневому ЦС, который перекрестно сертифицирован с помощью центра сертификации, который я хотел бы проверить против ... поэтому я хочу убедиться, что я правильно построю цепочку для кросс-сертифицированного корня , Ниже приведен пример того, что может выглядеть цепочка доверия.Как проверить цепи сертификатов на конкретный ЦС?
1) Root CA1 -> Inter CA1 -> John Doe Signed Cert
2) Bridge CA Root -> X-Cert Root CA1 -> Inter CA1 -> John Doe Signed Cert
Обе указанные цепи сертификатов действительны, но я хочу убедиться, что у меня есть номер цепи 2.
X509Certificate2 johnDoeCert = GetJohnDoeCert();
var chain = new X509Chain();
chain.Build(johnDoeCert);
chain.ChainElements[chain.ChainElements.Count - 1]; // I want to ensure this is Bridge CA Root
Любая помощь приветствуется.
Спасибо!