Ich richte einen Testplan mit JMeter 2.8 mit SSL-Client-Zertifikaten ein. Der Testplan besteht grob gesagt aus zwei https-Aufrufen zu server1 und server2.
Der heikle Teil ist, dass der Aufruf von server1 keine SSL-Clientauthentifizierung verwenden darf (obwohl der Server eine anfordert), während der Aufruf von server2 die SSL-Clientauthentifizierung verwenden muss.
Momentan, sobald ich JMeter einen Keystore gebe, senden alle https-Aufrufe ein SSL-Zertifikat, was dazu führt, dass der Aufruf von server1 fehlschlägt.
Ich habe derzeit zwei Ansätze ausprobiert:
-Djava.net.ssl.keyStore=xxx
von der JMeter-Befehlszeile entfernt und einen Beanshell- oder BSH-Preprozessor verwendet, um sie direkt vor dem Aufruf von server2 zu setzen, aber es funktioniert nicht und der Aufruf von Server 2 schlägt fehl, als wäre kein Keystore angegeben worden . Was Sie tun können, ist Folgendes:
Fügen Sie jmeter die folgenden JVM-Eigenschaften hinzu:
%Vor%Verwenden Sie Schlüsselspeicherkonfiguration
wird in user.properties festgelegt:
%Vor%Verwenden Sie HC4Impl für den Sampler, der das Client-Zertifikat senden muss
Benutze JavaImpl für den, der es nicht senden soll (es ist eine Art Trick, ich muss sagen, ich verstehe nicht, warum du kein Client-Zertifikat senden musst, wenn der Server es anfordert)
Tags und Links ssl-certificate jmeter