我正在使用ClientCAs和ClientAuth选项tls.Config在我的Go HTTP应用程序中进行基于证书的客户端身份验证.是否可以根据提供的CRL验证客户端证书?我在x509包中看到CRL周围有一些功能,但我不知道如何配置HTTP服务器来使用它们(即,似乎没有任何选项tls.Config会导致CRL也被使用) .
是否可以根据提供的CRL验证客户端证书?
是的,可以通过crypto/x509包装中提供的功能(正如您在问题中正确说明的那样).但是,诸如crypto/tls.Config(被消费者net/http)这样的高级接口不提供这种接口.对CRL实施检查的好机会可能是检查net/http.Request.TLS.PeerCertificates.
一点背景:crypto/tls由安全专家Adam Langley维护,他对撤销检查持有意见(原始来源是他的博客).虽然我没有证据,但人们可能会认为这是一个刻意的设计决定.