Hello,
got it.I have to set the property "https.use.cached.ssl.context=true"Doing so i
get a warning message in my logger panel that i have to set this value to
"false" to use multiple client certs but i ignore it.So for me if i set this
value to "true" everything works like a charm.If i set this value to "false"
then for EVERY http sampler jmeter use the next cert from keystore.
So if i set it to "true" i see this:jmeter.protocol.http.sampler.HTTPHC4Impl:
Reusing the HttpClient: @id.....
And the id is the same as for the first HttpClient.Thus if i have 10 http
samplers the first one will be created with the [0] cert and all other 9 http
samplers will simple "reuse" the httpclient and of course reuse the [0] cert or
better say the ssl handshake is done only once (at the first request).
George <[email protected]> schrieb am 12:32 Mittwoch, 10.Dezember 2014:
Hello,
it seems that the Keystore Configuration loops through the index for every http
sampler request?I have put jmeter into "debug" mode and also debug "ssl,
keymanager". I see everything clear in the logger panel.
So i have a Keystore (.jks) with 3 certs. cert1, cert2, cert3.
My keystore configuration says "start: 0, end:2" preload: false".Then i have
---> Thread running 1 rampup 1 and just run 1------>Cookie Manager
-------->Simple controler------------->Http Sampler targeting my server on via
https and do a simple GET------------->Http Sampler targeting the same server
via https doing a GET/path/blah
When i run my test then i see this for the first http
sampler:jmeter.protocol.http.sampler.HTTPHC4Impl: Created new HttpClient:
@instance_idjmeter.util.SSLManager: Total of 3 aliases loaded OK from keystore
Perfect so far. Then i see:jmeter.util.JsseSSLManager: Using threadLocal SSL
context for :thread1 1-1jmeter.util.JsseManager: Client alias:'cert1'
So far good.Then the http sampler request is made and i see the response and i
see that i get a cookie back.
Perfect.But now i see:jmeter.util.JsseSSLManager: Clearing session context for
current thread
And then i see that the next http sampler is triggered to be executed i
see:jmeter.protocol.http.sampler.HTTPHC4Impl: Created new HttpClient:
@instance_id_for_next_sampler
And i also see again:jmeter.util.JsseSSLManager: Using threadLocal SSL context
for :thread1 1-1
And now i see:jmeter.util.JsseManager: Client alias:'cert2'
WHY that?I mean i have one thread with 2 http sampler request.I don't want that
jmeter "loops" through my certs [0-2] for every http sampler.I want to have 1
thread with 10 http samplers targeting the same server via https and i want
that all sent "cert1".
But now i see clearly that the ssl session context will be opend and closed for
every http sampler.This mean that for first http sampler jmeter use cert from
position [0] from my keystore configuration and for the next http request it
use postion [1].?
BrGeorge