【问题标题】:MTLS certificate is rejected with 403.16MTLS 证书被 403.16 拒绝
【发布时间】: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. 指定的网络资源或设备不再可用。
  2. 由于吊销服务器离线,吊销功能无法检查吊销。
  3. 证书对于请求的用途无效。

我预计 #1 是尝试检查撤销的结果。

一些问题:

  1. 未能检查撤销是否会导致 403.16?
  2. 从 CSR 生成的证书表明它的目的是“服务器身份验证”。 “客户端身份验证”是 MTLS 工作的必要目的吗?

提前致谢。

【问题讨论】:

    标签: iis client-certificates mtls


    【解决方案1】:

    以防其他人遇到此问题并想知道我们如何解决此问题。

    在我们的示例中,前两个错误与证书吊销检查有关。您可以按照说明 here 禁用证书吊销检查。

    最后的错误是因为证书没有目的Client Authentication。该证书似乎需要Server AuthenticationClient Authentication

    一旦这三个问题得到解决,端到端的沟通就可以工作了。

    【讨论】:

      猜你喜欢
      • 2018-02-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-09
      • 2015-10-18
      • 1970-01-01
      相关资源
      最近更新 更多