Bug 58016

Summary: Error type casting using external SSL Provider
Product: JMeter Reporter: Kirill Yankov <myworkpostbox>
Component: HTTPAssignee: JMeter issues mailing list <issues>
Status: RESOLVED FIXED    
Severity: normal CC: myworkpostbox, p.mouawad
Priority: P2    
Version: 2.13   
Target Milestone: ---   
Hardware: All   
OS: All   
Attachments: Fixed version of JsseSSLManager.java

Description Kirill Yankov 2015-06-10 12:48:04 UTC
Created attachment 32803 [details]
Fixed version of JsseSSLManager.java

I am using private SSL Provider for creating TLS connections with GOST cipher suites. And at the handshake I've got an error. After some examining it came out that to fix it I need to extend WrappedX509KeyManager class(in JsseSSLManager class) with X509ExtendedKeyManager instead of implementing X509KeyManager interface. After fixing it and rebuilding JMeter everything worked fine. I think this bug could occure in some other situations so I report it and apply my solution

Here's stacktrace:
java.lang.ClassCastException: org.apache.jmeter.util.JsseSSLManager$WrappedX509KeyManager cannot be cast to javax.net.ssl.X509ExtendedKeyManager
	at ru.infotecs.tls.g.c(Unknown Source)
	at ru.infotecs.tls.g.a(Unknown Source)
	at ru.infotecs.tls.B.c(Unknown Source)
	at ru.infotecs.tls.G.f(Unknown Source)
	at ru.infotecs.tls.G.startHandshake(Unknown Source)
	at org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:436)
	at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:180)
	at org.apache.http.impl.conn.ManagedClientConnectionImpl.open(ManagedClientConnectionImpl.java:294)
	at org.apache.jmeter.protocol.http.sampler.MeasuringConnectionManager$MeasuredConnection.open(MeasuringConnectionManager.java:107)
	at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:643)
	at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:479)
	at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:906)
	at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:805)
	at org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl.executeRequest(HTTPHC4Impl.java:517)
	at org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl.sample(HTTPHC4Impl.java:331)
	at org.apache.jmeter.protocol.http.sampler.HTTPSamplerProxy.sample(HTTPSamplerProxy.java:74)
	at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1146)
	at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1135)
	at org.apache.jmeter.threads.JMeterThread.process_sampler(JMeterThread.java:434)
	at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:261)
	at java.lang.Thread.run(Thread.java:745)
Comment 1 Philippe Mouawad 2015-06-14 13:28:55 UTC
Commited hotfix (there seems to be an issue with commit mails currently.
Comment 2 Philippe Mouawad 2015-06-14 19:42:22 UTC
Date: Sun Jun 14 13:26:37 2015
New Revision: 1685402

URL: http://svn.apache.org/r1685402
Log:
Bug 58016 - Error type casting using external SSL Provider
Bugzilla Id: 58016

Modified:
    jmeter/trunk/src/core/org/apache/jmeter/util/JsseSSLManager.java
    jmeter/trunk/xdocs/changes.xml