WCF 中的证书验证

use*_*876 2 c# wcf certificate x509

我必须检查特定的证书。不幸的是我不知道如何实现这一点。我想要验证的证书是由我自己的 ca 签名的。我需要检查整个证书链。验证应在 C# 内完成。

亲切的问候,迈克尔

Yah*_*hia 5

如果您想做所有事情,包括在代码中验证链,那么您需要实现“自定义验证”并将其集成到 WCF 主机中

Client.ServiceCertificate.Authentication.CertificateValidationMode =
              X509CertificateValidationMode.Custom;
Client.ServiceCertificate.Authentication.CustomCertificateValidator =
    new MyCertificateValidator();
Run Code Online (Sandbox Code Playgroud)

为了自己验证链,您应该看看X509ChainX509Store - 要了解如何实现这样的链验证,请查看Mono 的实现...Verify基本上,您使用该Find方法来搜索父级的X509Certificate2Collection等等...自定义验证的验证标准取决于您(有效签名,未过期...)。

MSDN 上的一些参考链接: