有没有办法配置 IIS 来告诉我们收到了不受信任的客户端证书?

有没有办法配置 IIS 来告诉我们收到了不受信任的客户端证书?

我们有一个 Web API 端点配置为允许但不要求客户端证书。

我们正在记录收到的证书,然后检查以确保它是我们所期望的,记录结果,然后允许访问或返回 403。

问题是,如果客户端发送的证书不是由受信任的根颁发机构签名的,我们似乎根本就无法获得该证书。

我希望能够记录我们收到的证书,然后记录它未签名,然后返回 403,而不是简单地记录没有提供证书。

我可以在 IIS 中配置一些东西来允许这样做吗?


评论说这通常被称为“自签名证书”,但这没有抓住重点,所以我一定没有说清楚。

由受信任的根颁发机构签名的证书与由用户签名的证书之间没有区别,只是受信任的根颁发机构的公钥应该已默认安装为受信任的根颁发机构。

假设用户已经创建了自己的签名证书,并使用它来签署客户端证书,并将该证书附加到 http 请求,但尚未将其签名证书添加到服务器的受信任机构?

我看到的情况是证书被剥离,因此对于端点控制器来说,好像没有附加任何证书。

这意味着我的服务器端日志无法区分未提供证书的情况和提供不受信任的证书的情况。

我希望能够针对两种情况记录不同的错误消息。

相关内容