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