JMeter 通过外部代理密钥库配置



我即将用JMeter测试Web应用程序。我已经记录并参数化了脚本,这些脚本似乎工作正常。 问题是,其中一个要求是通过 mitmproxy 重定向流量。 我已经找到了如何将流量重定向到所需代理的解决方案: 如何从另一个代理后面为 JMeter 设置代理?

要手动完成我在Firefox浏览器中设置手动代理配置的场景,然后导航到 mitm.it,如果启用了代理,我将获得要下载的客户端证书。受信任后,所有流量都将通过此代理实例。 问题是从这里下载的证书带有.crt扩展名,这是唯一的身份验证形式 - 没有签名,没有密码等。 我只是想知道如何使这个代理信任 JMeter 请求? 将此证书添加到现有密钥库可以正常工作吗?如果是这样,我找不到有关如何使用没有密码和密钥的证书扩展密钥库的明确教程。 有什么建议吗? 附言。我尝试遵循 http://www.middlewareguru.com/mw/?p=478 - 但它指出:"密钥存储必须至少有一个 x509 证书和私钥" ->问题是我只有证书,没有私钥,它非常适合 Firefox,但不知道密钥库在这种情况下的行为(我的代理目前已关闭,但我想在它再次启动和运行之前准备好这种方法)。

您需要将
  1. .crt文件转换为JMeter可以使用OpenSSL"理解".p12文件,例如:

    openssl pkcs12 -export -in certificate.crt -inkey inkey.key -out certificate.p12
    
  2. 完成后,您可以将以下行添加到system.properties文件(位于JMeter安装的"bin"文件夹中)

    javax.net.ssl.keyStore=/path/to/certificate.p12
    
  3. 重新启动JMeter以进行更改

您也可以使用SSL管理器代替步骤2和3,但使用系统属性更方便。

引用:

  • 最常见的 OpenSSL 命令
  • 如何将 JMeter 负载测试设置为使用客户端证书

最新更新