使用 HTTP.sys SSL 绑定的客户端证书过期验证

Client certificate expiration validation with HTTP.sys SSL binding

我已经通过 netsh http add sslcert 设置了自定义 SSL 绑定。此绑定启用了 clientcertnegotiation 参数,这会导致 HTTP.sys 子系统在 SSL 握手阶段发出客户端证书请求。

到这里一切正常,请求客户端证书,它也是由客户端发送的。问题是该特定证书已过期。

常识表明过期验证应该在此级别进行。有什么特别的 option/setting 可以做到这一点吗?

否则,它可能应该在此绑定背后的 WCF 应用程序中处理 - 这是一个完全不同的问题。

我不知道您可以使用哪个参数,但我遇到了类似的问题,我使用的服务器未验证证书的有效性。 相反,我在我的应用程序的基础架构中实现了它: 遍历从客户端收到的证书链并验证所有证书是否有效:检查 notBefore 和 notAfter 参数。

最终使用 custom X509 certificate validator 在我的代码中进行了验证。

只需拿到证书并检查日期。