Jmeter脚本录制报SEC_ERROR_BAD_SIGNATURE错误,是否证书过期如何解决
问题原因确认
你遇到的SEC_ERROR_BAD_SIGNATURE错误确实大概率是JMeter临时证书过期导致的:JMeter默认生成的录制用根证书ApacheJMeterTemporaryRootCA.crt有效期仅为7天,你上周可正常使用、间隔一周后报错的时间线完全匹配证书过期的特征,再加上你确认其他配置无变动仅证书有变化,基本可以定位为该问题。
新证书获取及配置步骤
- 清理旧证书
关闭JMeter,进入JMeter安装根目录,删除目录下已过期的ApacheJMeterTemporaryRootCA.crt文件;同时打开Firefox的「设置」→「隐私与安全」→「证书」→「查看证书」,在「权威证书颁发机构」分类下找到颁发者为Apache Software Foundation的JMeter旧证书,删除所有相关条目。 - 生成新证书
打开JMeter,添加「HTTP(S)测试脚本录制器」,点击录制器面板的启动按钮,JMeter会自动在根目录生成新的有效期7天的ApacheJMeterTemporaryRootCA.crt证书,弹出的证书提示框直接确认即可。 - 导入新证书到Firefox
回到Firefox的证书管理页面,点击「导入」,选择JMeter根目录下新生成的ApacheJMeterTemporaryRootCA.crt文件,勾选「信任此CA以标识网站」,确认导入后重启浏览器即可恢复正常录制。
可选优化(避免频繁更换证书)
如果不想每周都重新生成导入证书,可以在启动录制器前修改JMeter bin目录下的jmeter.properties配置文件,调整proxy.cert.validity参数的数值(单位为天),比如设置为proxy.cert.validity=365即可生成有效期1年的证书。
对应JMeter证书配置参考界面:
内容的提问来源于stack exchange,提问作者zundarz
相关产品推荐
相关产品推荐

