实施特定于客户端的 WCF ServicePointManager ServerCertificateValidationCallback?

Implement client-specific WCF ServicePointManager ServerCertificateValidationCallback?

ServicePointManager.ServerCertificateValidationCallback 允许对服务端证书进行自定义验证。

这在只有一个自定义验证器时工作正常。但是我有多个客户端,我需要能够为每个客户端指定不同的验证器。

现在,据我所知,所有 ClientBase 对象只有一个 ServicePointManager,因此,默认情况下,所有客户端都将通过相同的服务端证书验证链。

如果必须,我想可以:

  1. 将所有验证器挂接到链中,然后为每个验证器添加逻辑以了解何时验证以及何时简单地 return true

  2. 维护一组验证器(呃!)并适当地调用

我希望避免这两种情况...WCF 中是否内置了一些支持多个 ServicePointManagers 的可扩展组件?

求助!欢迎任何建议或指点!

可以有 client/channel 个特定的 SSL 验证器。参见 this answer