BurpSuite中文网站 > 最新资讯 > BurpSuite客户端证书怎么配置 BurpSuite客户端证书怎么匹配域名
教程中心分类
BurpSuite客户端证书怎么配置 BurpSuite客户端证书怎么匹配域名
发布时间:2026/11/11 15:58:08

  在联调启用了双向TLS的服务时,浏览器能直接访问接口,经过Burp Suite后却可能在握手阶段失败。这里涉及两段连接:浏览器需要信任Burp出示的证书,目标服务器则可能要求Burp出示客户端证书。两份证书的用途不同。客户端证书导入成功后,还要确认它关联的是实际接收请求的主机,多环境共用一个项目时尤其容易填错。

  一、BurpSuite客户端证书怎么配置

 

  客户端证书在网络TLS设置中添加。以文件方式配置时,需要准备包含客户端证书及对应私钥的PKCS#12文件,并取得文件密码。

 

  1、导入证书并关联目标主机

 

  单个接口联调可以先填写完整主机名,等握手验证通过后,再考虑是否需要将同一份证书用于其他主机。

 

  ①打开【Settings】→【Network】→【TLS】,找到【Client TLS certificates】。

 

  ②点击【Add】,在【Destination host】中填写主机名,例如【api.test.example.com】。

 

  ③将证书类型设为【File(PKCS#12)】,选取扩展名为【.p12】的证书文件,输入文件密码。

 

  ④保存条目,回到【Client TLS certificates】核对主机名和证书文件是否对应。

 

  2、使用硬件令牌或智能卡时选择证书

 

  ①在【Client TLS certificates】中点击【Add】,填写【Destination host】。

 

  ②将证书类型设为【Hardware token or smartcard(PKCS#11)】,选择设备对应的【PKCS#11库文件】。

 

  ③输入设备【PIN】,从列表中选择需要提交给服务器的客户端证书。

 

  ④服务端需要补充中间证书链时,添加对应的【中间证书】,保存后进行握手验证。

 

  硬件设备中可能同时存有多张证书,选取时要核对主体和有效期。文件方式也一样,只有公钥证书的文件无法完成客户端身份验证。遇到导入失败,先确认文件内容和密码,再处理扩展名;改后缀不会转换文件格式,也不会补上私钥。

 

  3、把证书设置放在合适的范围

 

  ①查看【Client TLS certificates】当前使用的配置范围。

 

  ②仅供当前项目使用时,选中【Override options for this project only】。

 

  ③在项目证书列表中核对【Destination host】及对应证书,保存项目后重新打开检查。

 

  二、BurpSuite客户端证书怎么匹配域名

 

  域名匹配发生在Burp连接目标服务器时。服务器在TLS握手中请求客户端证书后,Burp才会从列表中按目标主机选择证书。

 

  1、填写实际连接的主机名

 

  ①在【Destination host】中填写目标主机,例如【api.test.example.com】,不附加协议、端口或接口路径。

 

  ②检查请求的实际连接目标;如果访问过程发生跳转,分别记录跳转前后的【主机名】。

 

  ③若两个主机都要求客户端认证,在【Client TLS certificates】中分别建立条目,并关联各自接受的证书。

 

  同一主机下的两个接口路径不能靠这项设置分配不同证书,因为服务器请求客户端证书时,HTTP路径还没有发出。也不要把证书上的主体名称当成匹配条件:Burp按配置中的目标主机选证书,服务器再按自身的信任规则判断是否接受。

  2、通配规则有重叠时调整顺序

 

  【】中的匹配项应与实际使用范围一致。星号可以匹配零个或多个字符,问号只匹配一个非点号字符;规则重叠时,列表顺序会影响选择结果。

 

  ①在【Destination host】中设置所需规则,例如用【api?.test.example.com】匹配编号为单字符的接口主机。

 

  ②同时存在【api.test.example.com】和【*.test.example.com】时,把需要优先使用的专用证书条目移到宽泛规则上方。

 

  ③检查列表是否存在【*】条目,按实际需求缩小其范围,或将其放到需要优先命中的条目之后。

 

  ④分别访问一个专用主机和一个适用通配规则的主机,核对服务端识别出的客户端证书。

 

  三、BurpSuite客户端证书配置后仍无法连接怎么查

 

  先分清问题发生在哪一段连接。浏览器端弹出证书信任提示,与目标服务器拒绝客户端证书,虽然都出现在HTTPS访问过程中,处理的位置却不同。

 

  1、确认新连接用上了新配置

 

  ①打开【Client TLS certificates】,核对当前项目是否启用了覆盖设置,以及实际使用的是哪份列表。

 

  ②在【Destination host】中检查目标主机对应的规则,确认前面没有其他同样能匹配的条目。

 

  ③让测试请求使用新的【TLS连接】,再访问目标接口。

 

  ④在可查看的【服务端TLS日志】中核对收到的证书主体或序列号,确认身份与预期一致。

 

  修改证书列表后,原有连接上的请求未必会重新握手。复测时应把连接复用考虑进去。服务端也可能在握手成功后通过HTTP返回权限错误,这时可以核查证书身份与应用账号的映射,没必要反复导入同一文件。

 

  2、区分证书没送出和送出后被拒绝

 

  如果服务端没有收到证书,检查握手请求和主机匹配;如果已经收到,则把核查重点放到证书本身和服务端配置上。

 

  ①查看【服务端TLS日志】,确认请求到达的是哪一个网关或入口,以及该入口是否要求客户端证书。

 

  ②核对导入的【.p12文件】是否包含对应私钥,并检查【有效期】和客户端认证用途。

 

  ③对照服务端的【受信任签发机构】与客户端证书链,确认中间证书是否齐备。

 

  ④若警告出现在外部浏览器一侧,单独检查浏览器对【Burp CA证书】的信任设置。

  总结

 

  客户端证书配置能否生效,要看三个条件:目标服务器是否请求证书、Burp选中了哪一条规则、服务器是否接受这张证书。多环境联调时,给不同入口保留清楚的主机与证书对应关系,比反复更换文件省事。如果同一张证书直连可用,经过Burp却失败,可以从实际握手主机和证书列表顺序入手排查。

176 5129 0128