JMeter和https

时间:2014-05-13 05:40:37

标签: java ssl jmeter

我正在尝试设置JMeter来测试在Weblogic上运行的Web服务。该网络服务由https提供。当我在Weblogic控制台上运行测试时,我得到:

<13 May.2014 07.36 CEST> <Warning> <Security> <BEA-090476> <Invalid/unknown SSL header was received from peer myname.company.com - 192.168.0.1 during SSL handshake.>

我想我需要在Jmeter方面设置一些东西。我不知道是什么以及如何。有什么提示吗?

在Jmeter网站上:

  

要使用SSL加密(HTTPS)测试Web服务器,JMeter需要   提供SSL的实现,就像Sun的情况一样   Java 1.4及以上版本。如果您的Java版本不包含SSL   支持,然后可以添加外部实现。   在JMeter的类路径中包含必要的加密包。   另外,更新system.properties以注册SSL提供程序。

在Windows 7上运行,如何找出我需要哪个ssl提供程序?如何检查我的java是否包含SSL?我已经获得了JDK 6,7和8,并使用最新版本进行了测试,即8。

更新

之前的错误是因为JMeter使用了SSLv2而Weblogic不支持它。在JMeter中将其更改为SSLv3后,我收到此错误:

<13.mai.2014 kl 10.19 CEST> <Debug> <SecuritySSL> <BEA-000000> <71030870 SSL3/TLS MAC>
<13.mai.2014 kl 10.19 CEST> <Debug> <SecuritySSL> <BEA-000000> <71030870 received HANDSHAKE>
<13.mai.2014 kl 10.19 CEST> <Debug> <SecuritySSL> <BEA-000000> <HANDSHAKEMESSAGE: ClientKeyExchange RSA>
<13.mai.2014 kl 10.19 CEST> <Debug> <SecuritySSL> <BEA-000000> <Using JCE Cipher: SunJCE version 1.6 for algorithm RSA>
<13.mai.2014 kl 10.19 CEST> <Debug> <SecuritySSL> <BEA-000000> <Ignoring not supported JCE Mac: SunJCE version 1.6 for algorithm HmacMD5>
<13.mai.2014 kl 10.19 CEST> <Debug> <SecuritySSL> <BEA-000000> <Will use default Mac for algorithm HmacMD5>
<13.mai.2014 kl 10.19 CEST> <Debug> <SecuritySSL> <BEA-000000> <Ignoring not supported JCE Mac: SunJCE version 1.6 for algorithm HmacSHA1>
<13.mai.2014 kl 10.19 CEST> <Debug> <SecuritySSL> <BEA-000000> <Will use default Mac for algorithm HmacSHA1>
<13.mai.2014 kl 10.19 CEST> <Debug> <SecuritySSL> <BEA-000000> <Will use default Mac for algorithm MD5>
<13.mai.2014 kl 10.19 CEST> <Debug> <SecuritySSL> <BEA-000000> <Using JCE Cipher: SunJCE version 1.6 for algorithm RC4>
<13.mai.2014 kl 10.19 CEST> <Debug> <SecuritySSL> <BEA-000000> <Ignoring not supported JCE Mac: SunJCE version 1.6 for algorithm HmacMD5>
<13.mai.2014 kl 10.19 CEST> <Debug> <SecuritySSL> <BEA-000000> <Will use default Mac for algorithm HmacMD5>
<13.mai.2014 kl 10.19 CEST> <Debug> <SecuritySSL> <BEA-000000> <Ignoring not supported JCE Mac: SunJCE version 1.6 for algorithm HmacSHA1>
<13.mai.2014 kl 10.19 CEST> <Debug> <SecuritySSL> <BEA-000000> <Will use default Mac for algorithm HmacSHA1>
<13.mai.2014 kl 10.19 CEST> <Debug> <SecuritySSL> <BEA-000000> <isMuxerActivated: false>
<13.mai.2014 kl 10.19 CEST> <Debug> <SecuritySSL> <BEA-000000> <71030870 SSL3/TLS MAC>
<13.mai.2014 kl 10.19 CEST> <Debug> <SecuritySSL> <BEA-000000> <71030870 received CHANGE_CIPHER_SPEC>
<13.mai.2014 kl 10.19 CEST> <Debug> <SecuritySSL> <BEA-000000> <Using JCE Cipher: SunJCE version 1.6 for algorithm RC4>
<13.mai.2014 kl 10.19 CEST> <Debug> <SecuritySSL> <BEA-000000> <Ignoring not supported JCE Mac: SunJCE version 1.6 for algorithm HMACMD5>
<13.mai.2014 kl 10.19 CEST> <Debug> <SecuritySSL> <BEA-000000> <Will use default Mac for algorithm HMACMD5>
<13.mai.2014 kl 10.19 CEST> <Debug> <SecuritySSL> <BEA-000000> <isMuxerActivated: false>
<13.mai.2014 kl 10.19 CEST> <Debug> <SecuritySSL> <BEA-000000> <71030870 SSL3/TLS MAC>
<13.mai.2014 kl 10.19 CEST> <Debug> <SecuritySSL> <BEA-000000> <71030870 received HANDSHAKE>
<13.mai.2014 kl 10.19 CEST> <Debug> <SecuritySSL> <BEA-000000> <HANDSHAKEMESSAGE: Finished>
<13.mai.2014 kl 10.19 CEST> <Debug> <SecuritySSL> <BEA-000000> <Ignoring not supported JCE Mac: SunJCE version 1.6 for algorithm HmacMD5>
<13.mai.2014 kl 10.19 CEST> <Debug> <SecuritySSL> <BEA-000000> <Will use default Mac for algorithm HmacMD5>
<13.mai.2014 kl 10.19 CEST> <Debug> <SecuritySSL> <BEA-000000> <Ignoring not supported JCE Mac: SunJCE version 1.6 for algorithm HmacSHA1>
<13.mai.2014 kl 10.19 CEST> <Debug> <SecuritySSL> <BEA-000000> <Will use default Mac for algorithm HmacSHA1>
<13.mai.2014 kl 10.19 CEST> <Debug> <SecuritySSL> <BEA-000000> <write CHANGE_CIPHER_SPEC, offset = 0, length = 1>
<13.mai.2014 kl 10.19 CEST> <Debug> <SecuritySSL> <BEA-000000> <Using JCE Cipher: SunJCE version 1.6 for algorithm RC4>
<13.mai.2014 kl 10.19 CEST> <Debug> <SecuritySSL> <BEA-000000> <Ignoring not supported JCE Mac: SunJCE version 1.6 for algorithm HMACMD5>
<13.mai.2014 kl 10.19 CEST> <Debug> <SecuritySSL> <BEA-000000> <Will use default Mac for algorithm HMACMD5>
<13.mai.2014 kl 10.19 CEST> <Debug> <SecuritySSL> <BEA-000000> <Ignoring not supported JCE Mac: SunJCE version 1.6 for algorithm HmacMD5>
<13.mai.2014 kl 10.19 CEST> <Debug> <SecuritySSL> <BEA-000000> <Will use default Mac for algorithm HmacMD5>
<13.mai.2014 kl 10.19 CEST> <Debug> <SecuritySSL> <BEA-000000> <Ignoring not supported JCE Mac: SunJCE version 1.6 for algorithm HmacSHA1>
<13.mai.2014 kl 10.19 CEST> <Debug> <SecuritySSL> <BEA-000000> <Will use default Mac for algorithm HmacSHA1>
<13.mai.2014 kl 10.19 CEST> <Debug> <SecuritySSL> <BEA-000000> <write HANDSHAKE, offset = 0, length = 16>
<13.mai.2014 kl 10.19 CEST> <Debug> <SecuritySSL> <BEA-000000> <SSLIOContextTable.findContext(sock): 1208820522>
<13.mai.2014 kl 10.19 CEST> <Debug> <SecuritySSL> <BEA-000000> <activateNoRegister()>
<13.mai.2014 kl 10.19 CEST> <Debug> <SecuritySSL> <BEA-000000> <SSLFilterImpl.activate(): activated: 628843687 1178840099>
<13.mai.2014 kl 10.19 CEST> <Debug> <SecuritySSL> <BEA-000000> <1921821916 read(offset=0, length=4080)>
<13.mai.2014 kl 10.19 CEST> <Debug> <SecuritySSL> <BEA-000000> <isMuxerActivated: true>
<13.mai.2014 kl 10.19 CEST> <Debug> <SecuritySSL> <BEA-000000> <hasSSLRecord()>
<13.mai.2014 kl 10.19 CEST> <Debug> <SecuritySSL> <BEA-000000> <hasSSLRecord returns true>
<13.mai.2014 kl 10.19 CEST> <Debug> <SecuritySSL> <BEA-000000> <71030870 SSL3/TLS MAC>
<13.mai.2014 kl 10.19 CEST> <Debug> <SecuritySSL> <BEA-000000> <71030870 received APPLICATION_DATA: databufferLen 0, contentLength 151>
<13.mai.2014 kl 10.19 CEST> <Debug> <SecuritySSL> <BEA-000000> <1921821916 read databufferLen 151>
<13.mai.2014 kl 10.19 CEST> <Debug> <SecuritySSL> <BEA-000000> <1921821916 read A returns 151>
<13.mai.2014 kl 10.19 CEST> <Debug> <SecuritySSL> <BEA-000000> <1921821916 read(offset=151, length=3929)>
<13.mai.2014 kl 10.19 CEST> <Debug> <SecuritySSL> <BEA-000000> <isMuxerActivated: true>
<13.mai.2014 kl 10.19 CEST> <Debug> <SecuritySSL> <BEA-000000> <hasSSLRecord()>
<13.mai.2014 kl 10.19 CEST> <Debug> <SecuritySSL> <BEA-000000> <hasSSLRecord returns false 1>
<13.mai.2014 kl 10.19 CEST> <Debug> <SecuritySSL> <BEA-000000> <1921821916 Rethrowing InterruptedIOException>
<13.mai.2014 kl 10.19 CEST> <Debug> <SecuritySSL> <BEA-000000> <SSLIOContextTable.findContext(sock): 1208820522>
<13.mai.2014 kl 10.19 CEST> <Debug> <SecuritySSL> <BEA-000000> <activateNoRegister()>
<13.mai.2014 kl 10.19 CEST> <Debug> <SecuritySSL> <BEA-000000> <SSLFilterImpl.activate(): activated: 628843687 492945567>
<13.mai.2014 kl 10.19 CEST> <Debug> <SecuritySSL> <BEA-000000> <1921821916 read(offset=151, length=3929)>
<13.mai.2014 kl 10.19 CEST> <Debug> <SecuritySSL> <BEA-000000> <isMuxerActivated: true>
<13.mai.2014 kl 10.19 CEST> <Debug> <SecuritySSL> <BEA-000000> <hasSSLRecord()>
<13.mai.2014 kl 10.19 CEST> <Debug> <SecuritySSL> <BEA-000000> <hasSSLRecord returns false 1>
<13.mai.2014 kl 10.19 CEST> <Debug> <SecuritySSL> <BEA-000000> <1921821916 Rethrowing InterruptedIOException>
<13.mai.2014 kl 10.19 CEST> <Debug> <SecuritySSL> <BEA-000000> <write APPLICATION_DATA, offset = 0, length = 171>
<13.mai.2014 kl 10.19 CEST> <Debug> <SecuritySSL> <BEA-000000> <write APPLICATION_DATA, offset = 6, length = 923>
<13.mai.2014 kl 10.19 CEST> <Debug> <SecuritySSL> <BEA-000000> <NEW ALERT with Severity: WARNING, Type: 0
java.lang.Exception: New alert stack
        at com.certicom.tls.record.alert.Alert.<init>(Unknown Source)
        at com.certicom.tls.interfaceimpl.TLSConnectionImpl.closeWriteHandler(Unknown Source)
        at com.certicom.tls.interfaceimpl.TLSConnectionImpl.close(Unknown Source)
        at javax.net.ssl.impl.SSLSocketImpl.close(Unknown Source)
        at weblogic.socket.SocketMuxer.closeSocket(SocketMuxer.java:509)
        at weblogic.socket.SocketMuxer.closeSocket(SocketMuxer.java:492)
        at weblogic.socket.SocketMuxer.cleanupSocket(SocketMuxer.java:876)
        at weblogic.socket.SocketMuxer.deliverExceptionAndCleanup(SocketMuxer.java:833)
        at weblogic.socket.SocketMuxer.deliverEndOfStream(SocketMuxer.java:761)
        at weblogic.servlet.internal.VirtualConnection.close(VirtualConnection.java:337)
        at weblogic.servlet.internal.ServletResponseImpl.send(ServletResponseImpl.java:1574)
        at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1498)
        at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256)
        at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)
>
<13.mai.2014 kl 10.19 CEST> <Debug> <SecuritySSL> <BEA-000000> <write ALERT, offset = 0, length = 2>
<13.mai.2014 kl 10.19 CEST> <Debug> <SecuritySSL> <BEA-000000> <close(): 1921821916>
<13.mai.2014 kl 10.19 CEST> <Debug> <SecuritySSL> <BEA-000000> <SSLIOContextTable.removeContext(ctx): 213906047>

1 个答案:

答案 0 :(得分:1)

将JMeter配置为使用SSLv3:

https.default.protocol=SSLv3

此外,请确保Weblogic在JDK中使用SSL实现:

-Djava.protocol.handler.pkgs=com.sun.net.ssl.internal.www.protocol -Dssl.SocketFactory.provider=com.sun.net.ssl.internal.SSLSocketFactoryImpl -DUseSunHttpHandler=true -Dweblogic.wsee.client.ssl.usejdk=true