2017-04-03 140 views
1
exception Jmeter throws- 
javax.net.ssl.SSLHandshakeException: Remote host closed connection during handshake 
    at com.ibm.jsse2.qc.a(qc.java:422) 
    at com.ibm.jsse2.qc.h(qc.java:714) 
    at com.ibm.jsse2.qc.a(qc.java:831) 
    at com.ibm.jsse2.qc.startHandshake(qc.java:828) 
    at org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:553) 
    at org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:412) 
    at org.apache.jmeter.protocol.http.sampler.LazySchemeSocketFactory.connectSocket(LazySchemeSocketFactory.java:97) 
    at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:179) 
    at org.apache.http.impl.conn.ManagedClientConnectionImpl.open(ManagedClientConnectionImpl.java:328) 
    at org.apache.jmeter.protocol.http.sampler.MeasuringConnectionManager$MeasuredConnection.open(MeasuringConnectionManager.java:114) 

是否有任何特定的Java版本需要使用? 的JMeter版本是 - 3.1Jmeter-如何包含外部.p12 SSL证书

回答

0
  1. 下一行只需添加到system.properties文件(位于安装Jmeter的 “bin” 文件夹)

    javax.net.ssl.keyStoreType=pkcs12  
    javax.net.ssl.keyStore=/path/to/your/certificate.p12 
    javax.net.ssl.keyStorePassword=your_certificate_password_here 
    

    另一种选择是提供上述属性通过-D命令行参数如:

    jmeter -Djavax.net.ssl.keyStoreType=pkcs12 -Djavax.net.ssl.keyStore=/path/to/your/certificate.p12 -Djavax.net.ssl.keyStorePassword=your_certificate_password_here 
    

    这对于无人执行的执行更为方便,即使用Continuous Integration服务器

  2. 重启JMeter的挑选性能高达
  3. 现在JMeter会使用您的客户端证书的请求加密

How to Set Your JMeter Load Test to Use Client Side Certificates了解更多详情。

或者,您可以使用SSL Manager,但是我个人认为使用系统属性更方便。

+0

thanx for response.I尝试了您提到的步骤avax.net.ssl.keyStoreType = pkcs12 javax.net.ssl.keyStore =/path/to/your/certificate.p12 javax.net.ssl。 keyStorePassword = your_certificate_password_here ....但没有成功仍然收到错误:响应代码:非HTTP响应代码:javax.net.ssl.SSLHandshakeException 响应消息:非HTTP响应消息:远程主机在握手期间关闭连接。 – DB7