Thanks Flávio 
I removed the trust store config because it wasn't required and followed the 
steps you listed.
First I tried used the SSL Manager and Keystore configuration. In my logs I was 
getting the error listed below.The problem was due to my configuration of the 
Keystore Configuration, the start index was set to 1. My first (and only) 
certificate used an alias of 1 (which I believe is unrelated to the index).  
The Keystore  Configuration uses a zero-based index.I have change this and 
everything is working fine. Finally I added the keystore back into my 
properties file again.
Regards,
Frank
2012/05/30 10:54:37 ERROR - jmeter.util.SSLManager: Problem loading keystore: 
No key(s) found java.lang.Exception: No key(s) found      at 
org.apache.jmeter.util.keystore.JmeterKeyStore.load(JmeterKeyStore.java:100) at 
org.apache.jmeter.util.SSLManager.getKeyStore(SSLManager.java:126)   at 
org.apache.jmeter.util.JsseSSLManager.createContext(JsseSSLManager.java:232) at 
org.apache.jmeter.util.JsseSSLManager.getContext(JsseSSLManager.java:198)    at 
org.apache.jmeter.util.HttpSSLProtocolSocketFactory.getSSLSocketFactory(HttpSSLProtocolSocketFactory.java:105)
       at 
org.apache.jmeter.util.HttpSSLProtocolSocketFactory.createSocket(HttpSSLProtocolSocketFactory.java:149)
      at 
org.apache.commons.httpclient.HttpConnection.open(HttpConnection.java:707)   at 
org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:387)
       at 
org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171)
  at 
org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)  at 
org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:323)  at 
org.apache.jmeter.protocol.http.sampler.HTTPHC3Impl.sample(HTTPHC3Impl.java:249)
     at 
org.apache.jmeter.protocol.http.sampler.HTTPSamplerProxy.sample(HTTPSamplerProxy.java:62)
    at 
org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1054)
    at 
org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1043)
    at 
org.apache.jmeter.threads.JMeterThread.process_sampler(JMeterThread.java:416)   
     at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:271)    at 
java.lang.Thread.run(Unknown Source)

Regards,


> Date: Mon, 28 May 2012 10:27:26 -0300
> Subject: Re: Certificate Based Authentication
> From: flaviocy...@gmail.com
> To: user@jmeter.apache.org
> 
> Have you tried with truststore configuration commented? Leave keystore as
> you configured.
> Truststore in JMeter 2.6, by default, is using trust all certificates
> policy, then there is no need to configure it.
> 
> Have you tried without these configurations and adding the certificate on
> JMeter's SSL Manager and Keystore configuration component, to be sure that
> your personal certificate is valid?
> 
> Be sure to add to keysore a valid .p12 or .pfx certificate, it has to
> contain your private key and not only your public key.
> 
> Hope it helps you.
> Flávio Cysne
> 
> 2012/5/28 Frank Wilson <zombiedoomtr...@hotmail.com>
> 
> >
> > Hi all
> >
> > I'm trying to access a site that uses Certificate Based
> > Authentication (it also uses SSL encryption). I would like to set up the
> >  Proxy Recorder to record the basis of the script but I can't seem to
> > get it to work. I am using JMeter 2.6 with Java6 but could upgrade
> > either if need be.
> >
> > The problem appears to be that I am not
> > passing a Client Certificate to the application server. The Proxy server
> >  is using default setting except for the HTTP Sampler setting - type
> > which I have set to HttpClient3.1. I have modified the system.properties
> >  to include the following:
> >
> > javax.net.ssl.keyStore="C:/my_new_keystore.jks"
> > javax.net.ssl.keyStorePassword=password
> > javax.net.ssl.trustStore="C:/my_new_truststore.jks"
> > javax.net.ssl.trustStorePassword=password
> >
> > The file my_new_keystore.jks contains the Client certificate required to
> > authenticate as as a specific user.
> > The file my_new_truststore.jks contains the SSL certificate of the server.
> > Is this required?
> >
> > When recording the test I get the following error:
> > javax.net.ssl.SSLException: java.lang.NullPointerException at
> > sun.security.ssl.Alerts.getSSLException(Unknown Source) at
> > sun.security.ssl.SSLSocketImpl.fatal(Unknown Source) at
> > sun.security.ssl.SSLSocketImpl.fatal(Unknown Source) at
> > sun.security.ssl.SSLSocketImpl.handleException(Unknown Source) at
> > sun.security.ssl.SSLSocketImpl.handleException(Unknown Source) at
> > sun.security.ssl.AppOutputStream.write(Unknown Source) at
> > java.io.BufferedOutputStream.flushBuffer(Unknown Source) at
> > java.io.BufferedOutputStream.flush(Unknown Source) at
> >
> > org.apache.commons.httpclient.HttpConnection.flushRequestOutputStream(HttpConnection.java:828)
> > at
> >
> > org.apache.commons.httpclient.HttpMethodBase.writeRequest(HttpMethodBase.java:2116)
> > at
> >
> > org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java:1096)
> > at
> >
> > org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:398)
> > at
> >
> > org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171)
> > at
> > org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)
> > at
> > org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:323)
> > at
> >
> > org.apache.jmeter.protocol.http.sampler.HTTPHC3Impl.sample(HTTPHC3Impl.java:249)
> > at
> >
> > org.apache.jmeter.protocol.http.sampler.HTTPSamplerProxy.sample(HTTPSamplerProxy.java:62)
> > at
> >
> > org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1054)
> > at org.apache.jmeter.protocol.http.proxy.Proxy.run(Proxy.java:236) Caused
> > by:
> > java.lang.NullPointerException at
> >
> > org.apache.jmeter.util.keystore.JmeterKeyStore.getAlias(JmeterKeyStore.java:139)
> > at
> >
> > org.apache.jmeter.util.JsseSSLManager$WrappedX509KeyManager.chooseClientAlias(JsseSSLManager.java:380)
> > at sun.security.ssl.AbstractKeyManagerWrapper.chooseClientAlias(Unknown
> > Source)
> > at sun.security.ssl.ClientHandshaker.serverHelloDone(Unknown Source) at
> > sun.security.ssl.ClientHandshaker.processMessage(Unknown Source) at
> > sun.security.ssl.Handshaker.processLoop(Unknown Source) at
> > sun.security.ssl.Handshaker.process_record(Unknown Source) at
> > sun.security.ssl.SSLSocketImpl.readRecord(Unknown Source) at
> > sun.security.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source) at
> > sun.security.ssl.SSLSocketImpl.writeRecord(Unknown Source) ... 14 more
> >
> > Could anyone explain what else I am missing?
> >
> >
> > Thanks,
> >
> > Frank
> >
                                          

Reply via email to