Search code examples
jmeterload-testingkeystore

JMeter https.keyStoreStartIndex not working


I have an application that requires client side certificates. My users.jks has multiple certs in it, test_user_1 - test_user_50. The cert works and I am able to successfully use any of the users in it when I try it manually through firefox so I know that part is ok.

I have added these lines to the system.properties file:

javax.net.ssl.keyStore=C:\path_to_cert\users.jks javax.net.ssl.keyStorePassword=cert_password

https.keyStoreStartIndex=3 https.keyStoreEndIndex=10

I originally had it in the user.properties file but it was not applying so I moved it to the system.properties file instead.

Everytime I run the test, no matter what index I set, it always selects test_user_1 for ALL of the threads.

Is there some other place I need to make another settings change or did I do something obviously wrong here?

Thanks in advance.


Solution

  • As per JMeter Properties reference:

    SSL (Java) System properties are now in system.properties JMeter no longer converts javax.xxx property entries in jmeter.properties into System properties. These must now be defined in the system.properties file or on the command-line. The system.properties file gives more flexibility.

    so the correct location is system.properties

    If you want each user to use different entry from the keystore:

    1. List all certificate aliases in a CSV file
    2. Add CSV Data Set Config to read the entries from the CSV file from step 1 into a JMeter Variable
    3. Add Keystore Configuration and use the variable from step 2 as the certificate alias

    More information: How to Use Multiple Certificates When Load Testing Secure Websites