В настоящее время у меня есть приложение, которое должно проверить, доверяет ли сертификат определенному ЦС.Проблема, с которой я столкнулся, заключается в том, что сертификат проблем может фактически принадлежать корневому ЦС, который перекрестно сертифицирован с ЦС, в отношении которого я хотел бы проверить ... поэтому я хочу убедиться, что правильно построил цепочку к перекрестному сертифицированному корневому ЦС.,Ниже приведен пример того, как может выглядеть цепочка доверия.
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
Любая помощь приветствуется.
Спасибо!