【发布时间】:2022-01-27 05:51:36
【问题描述】:
我正在与第 3 方集成,并且第 3 方在使用 MTLS 连接时提供客户端证书。
他们使用的证书是由第 3 方的 CSR 生成给我们的。它针对我们的一个 CA 采取了行动,并被退回给了第 3 方。我们的一位管理员对 CSR 采取了行动,并向我提供了该证书的公钥以及 CA 的公钥。
CA 的公钥已添加到机器证书存储区 Trusted Root Certification Authorities,并且根据 docs page for troubleshooting 403.16 的指导,来自 CSR 的公钥已添加到 Intermediate Certification Authorities 存储区。
已使用配置编辑器在路径system.webServer/security/authentication/iisClientCertificateMappingAuthentication 通过manyToOneMappings 配置IIS,以根据提供的证书为用户分配Windows 帐户。证书配置为与公用名 (CN) 匹配,并且配置正确:
当第 3 方连接时,IIS 日志显示 403.16 错误。
我相信这是正确配置的。我使用makecert.exe 生成了自己的证书,并证明这是可行的。
CAPI2 日志按从第一个到最后收到的顺序显示以下错误消息:
- 指定的网络资源或设备不再可用。
- 由于吊销服务器离线,吊销功能无法检查吊销。
- 证书对于请求的用途无效。
我预计 #1 是尝试检查撤销的结果。
一些问题:
- 未能检查撤销是否会导致 403.16?
- 从 CSR 生成的证书表明它的目的是“服务器身份验证”。 “客户端身份验证”是 MTLS 工作的必要目的吗?
提前致谢。
【问题讨论】:
标签: iis client-certificates mtls