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






    

Reply via email to