这是我的情况:
我有 2 个 X509Certificate2 对象。
- 对象 a:证书颁发机构(根 CA)
- 对象b:证书,签名的bea。
a 不是受信任的根 ca!
有没有一种简单的方法可以验证 b 是否真的由 a 签名?
我认为您需要安装自己的证书验证器。在您的验证器方法中,您可以检查证书颁发者,如果是,则返回 true。
private static bool ValidateRemoteCertificate(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors policyErrors)
{
if ( certificate.Issuer==<a DN goes here>
return true;
}
public static void InstallCertificateValidator()
{
ServicePointManager.ServerCertificateValidationCallback += new RemoteCertificateValidationCallback(ValidateRemoteCertificate);
}