9

SSLクライアント証明書を含むJMeter 2.8を使用してテスト計画を立てています。テスト計画は、サーバー 1 とサーバー 2 への 2 つの https 呼び出しで大まかに構成されています。

注意が必要な部分は、server1 への呼び出しでは SSL クライアント認証を使用してはならず (サーバーが要求している場合でも)、server2 への呼び出しでは SSL クライアント認証を使用する必要があることです。

現在、JMeter にキーストアを渡すとすぐに、すべての https 呼び出しが SSL 証明書を送信し、server1 への呼び出しが失敗します。

私は現在2つのアプローチを試しました:

  1. JMeter コマンド ラインからを削除し-Djava.net.ssl.keyStore=xxx、BeanShell または BSH プリプロセッサを使用して server2 への呼び出しの直前に設定しましたが、機能せず、キーストアが指定されていないかのようにサーバー 2 への呼び出しが失敗します。
  2. server1 を呼び出す前にキーストア管理コンフィギュレータを使用して存在しないキーを指定しようとしましたが、ストア内の最後の証明書の後に開始インデックスと終了インデックスを配置すると、JMeter はストア内の最初の証明書を送信します。
4

1 に答える 1

8

あなたができることは次のとおりです。

  • 次のJVMプロパティをjmeterに追加します。

    -Djavax.net.ssl.keyStore=<path to folder containing keystore>/keystore.jks       
    
    -Djavax.net.ssl.keyStorePassword=password if any
    
  • キーストア構成を使用する

  • user.propertiesで設定:

    https.use.cached.ssl.context=false
    
  • クライアント証明書を送信する必要があるサンプラーにはHC4Implを使用します

  • 送信してはならないものにはJavaImplを使用します(これは一種のトリックです。サーバーが要求した場合にクライアント証明書を送信してはならない理由がわかりません)

于 2013-02-04T19:04:14.950 に答える