現在、証明書が特定の CA によって信頼されていることを確認する必要があるアプリケーションがあります。私が抱えている問題は、問題の証明書が実際には、検証したい CA と相互認証されているルート CA に属している可能性があることです...そのため、相互認証されたルート CA へのチェーンを適切に構築することを確認したい. 信頼のチェーンがどのように見えるかの例を以下に示します。
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
どんな助けでも大歓迎です。
ありがとう!