5

在我的应用程序中,我需要向具有自签名证书的服务器发出请求。我希望能够仅针对该特定请求禁用证书验证。

我知道我可以通过将 ServicePointManager.ServerCertificateValidationCallback 设置为指向回调方法并简单地返回 true 来禁用证书验证。但是,这会禁用整个应用程序的证书验证,我可以通过在 app.config 中进行设置来简单地执行此操作。

但是,我不想禁用整个应用程序,而是禁用单个请求。那可能吗?

我正在使用的课程是 SmtpClient

4

1 回答 1

0

禁用证书验证通常是一个坏主意。为什么不简单地将自定义证书添加为系统或应用程序中的受信任证书。

AFAIR 这可以通过例如实现您自己的X509CertificateValidator来完成。只需将自定义证书嵌入到您的应用程序中,并在 X509CertificateValidator 中比较两者是否相等。

另请参阅:我的自定义 SSL 验证逻辑处理异常 RemoteCertificateNameMismatch 的安全性如何?

于 2011-10-26T17:26:20.650 回答