JMeter和可选的SSL客户端证书[已关闭]

p4tfgftt  于 12个月前  发布在  其他
关注(0)|答案(2)|浏览(102)

**已关闭。**此问题为not about programming or software development。目前不接受回答。

此问题似乎与a specific programming problem, a software algorithm, or software tools primarily used by programmers无关。如果您认为此问题与another Stack Exchange site的主题相关,可以发表评论,说明在何处可以回答此问题。
上个月关门了。
Improve this question
我使用JMeter 2.8建立了一个测试计划,其中包括SSL客户端证书。
棘手的部分是,对服务器1的调用不应该使用SSL客户端身份验证(尽管服务器正在请求一个),而对服务器2的调用必须使用SSL客户端身份验证。
目前,只要我给予一个密钥库给JMeter,所有的https调用都会发送SSL证书,这会导致对server1的调用失败。
我目前尝试了两种方法:
1.我从JMeter命令行中删除了-Djava.net.ssl.keyStore=xxx,并在调用server2之前使用BeanShell或BSH预处理器对其进行设置,但它不起作用,并且调用server2失败,就像没有指定密钥库一样。
1.在调用server1之前,我尝试使用Keystore管理配置器来指定一个不存在的密钥,但是当我将开始和结束索引放在存储中的最后一个证书之后时,JMeter仍然发送存储中的第一个证书。

rjjhvcjd

rjjhvcjd1#

你可以做的是:

  • 在jmeter中添加以下JVM属性:
-Djavax.net.ssl.keyStore=<path to folder containing keystore>/keystore.jks       

-Djavax.net.ssl.keyStorePassword=password if any

字符串

  • 使用密钥库配置
  • 设置在user.properties:
https.use.cached.ssl.context=false

  • 对必须发送客户端证书的采样器使用HC4Impl
  • 使用JavaImpl的一个,不能发送它(这是一种技巧,我必须说我不明白为什么你不能发送客户端证书,如果服务器请求它)
esbemjvw

esbemjvw2#

这在Linux命令终端中对我有效:

./jmeter.sh -Djavax.net.ssl.keyStore=Path/To/p12/certificate 
  -Djavax.net.ssl.keyStorePassword=passwordforCertificate 
  -n -t Path/To/Jmx/File -l Myjtlfile.jtl  -e -o results.html

字符串

相关问题