1

SSL 証明書の有効期限が切れているテスト サーバーを JMeter で参照できるようにする必要があります (証明書を更新できるようになるまでにはしばらく時間がかかります)。JMeter は、接続しようとすると例外をスローします。

javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated
    javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated
    at sun.security.ssl.SSLSessionImpl.getPeerCertificates(Unknown Source)
    at org.apache.http.conn.ssl.AbstractVerifier.verify(AbstractVerifier.java:128)
    at org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:572)
    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.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:640)
    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.sample(HTTPHC4Impl.java:284)
    at org.apache.jmeter.protocol.http.sampler.HTTPSamplerProxy.sample(HTTPSamplerProxy.java:62)
    at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1075)
    at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1064)
    at org.apache.jmeter.threads.JMeterThread.process_sampler(JMeterThread.java:426)
    at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:255)
    at java.lang.Thread.run(Unknown Source)

上記の証明書をキーストアにインポートし、その過程で有効期限を変更する方法を知っている人はいますか (そして、サーバー証明書の有効期限が切れているという事実が原因で、この例外がスローされることもあります)?

インポートの一部として有効性を設定しようとしましたが、これは無視されます:

keytool -import ... -validity 100

PS - これらのチェックを無視する独自の TrustManager を実装できることはわかっていますが、私の指ではそのような邪悪なコードを書くことはできず、JMeter を変更せずにサーバーにインストールできるソリューションにたどり着きたいです!

御時間ありがとうございます。

4

1 に答える 1

3

JMeter は証明書を検証しないため、これが問題の原因ではありません。

Java、HC3、または HC4 のどの実装を使用していますか?

問題は、ソケット バージョン ネゴシエーションのエラーが原因である可能性があります。これをuser.propertiesで設定してみてください:

  • https.socket.protocols=SSLv2Hello SSLv3 TLSv1

サーバー構成によっては、それらをいじる必要がある場合があります。たとえば、次のように設定するだけです。

  • https.socket.protocols=SSLv3
于 2013-04-23T15:44:46.173 に答える