You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否在IIS/http.sys及浏览器端基于EKU过滤客户端证书?

利用EKU过滤客户端证书的实现方法

核心结论

可以通过EKU信息过滤客户端证书,只允许具备**客户端认证EKU(OID: 1.3.6.1.5.5.7.3.2)**或无任何EKU的证书参与TLS握手。

一、TLS握手阶段的OID Filter配置

在TLS的CertificateRequest消息中设置OID过滤器,本质是指定服务端接受的EKU OID列表,同时需允许无EKU的证书(适配部分无扩展字段的旧证书)。

配置逻辑

  • 明确指定客户端认证EKU的OID:1.3.6.1.5.5.7.3.2
  • 开启允许无EKU证书的开关(不同服务器软件参数名不同,比如开源服务端常用allow_unrestricted或permit_no_eku类参数)

OpenSSL示例配置

如果用OpenSSL搭建服务端,可在配置文件中添加:

[ssl_server]
ssl_certificate = server.crt
ssl_certificate_key = server.key
verify_client = require
# 指定接受的客户端认证EKU
ssl_verify_eku = 1.3.6.1.5.5.7.3.2
# 允许无EKU的证书
ssl_verify_allow_no_eku = on

配置生效后,服务端会在CertificateRequest中携带指定OID过滤器,浏览器仅弹出符合条件的证书供选择。

二、IIS/http.sys的简便配置方式

IIS基于http.sys实现客户端证书验证,无需手动编辑底层TLS参数,可通过图形界面或PowerShell快速配置:

方法1:IIS管理器图形界面

  1. 打开IIS管理器,选中目标网站,双击SSL设置
  2. 勾选要求SSL和要求客户端证书
  3. 点击右侧高级设置,将客户端证书选项设为接受
  4. 打开服务器证书功能,点击右侧配置客户端证书映射,选择多对多映射
  5. 添加两条映射规则:
    • 规则1:条件类型选扩展密钥用法,操作选包含,值填写1.3.6.1.5.5.7.3.2
    • 规则2:条件类型选扩展密钥用法,操作选不存在
  6. 保存配置后,仅符合条件的证书可通过验证。

方法2:PowerShell命令

使用Set-WebConfiguration配置EKU过滤规则:

# 配置允许客户端认证EKU的证书
Set-WebConfiguration -Filter "/system.webServer/security/authentication/clientCertificateMappingAuthentication/manyToOneMappings/add[@name='ClientAuthEKU']" -Value @{
    enabled = 'True'
    permissionMode = 'Allow'
    rules = @(
        @{
            condition = 'EKU'
            pattern = '1.3.6.1.5.5.7.3.2'
            operator = 'Contains'
        }
    )
}

# 配置允许无EKU的证书
Set-WebConfiguration -Filter "/system.webServer/security/authentication/clientCertificateMappingAuthentication/manyToOneMappings/add[@name='NoEKU']" -Value @{
    enabled = 'True'
    permissionMode = 'Allow'
    rules = @(
        @{
            condition = 'EKU'
            pattern = ''
            operator = 'DoesNotExist'
        }
    )
}

执行后重启IIS生效:

iisreset

注意事项

  • 部分旧版本浏览器对无EKU证书兼容性较差,建议同时测试两种证书场景
  • 可通过netsh http show sslcert命令查看http.sys的当前TLS配置,确保客户端证书请求已开启

内容的提问来源于stack exchange,提问作者Desperado

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 16:56:04