Package org.apache.jmeter.util
Class SSLManager
- java.lang.Object
-
- org.apache.jmeter.util.SSLManager
-
- Direct Known Subclasses:
JsseSSLManager
public abstract class SSLManager extends Object
The SSLManager handles the KeyStore information for JMeter. Basically, it handles all the logic for loading and initializing all the JSSE parameters and selecting the alias to authenticate against if it is available. SSLManager will try to automatically select the client certificate for you, but if it can't make a decision, it will pop open a dialog asking you for more information. TODO? - N.B. does not currently allow the selection of a client certificate.
-
-
Field Summary
Fields Modifier and Type Field Description protected String
defaultpw
Have the password availablestatic String
JAVAX_NET_SSL_KEY_STORE
-
Constructor Summary
Constructors Modifier Constructor Description protected
SSLManager()
Protected Constructor to remove the possibility of directly instantiating this object.
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description void
configureKeystore(boolean preload, int startIndex, int endIndex, String clientCertAliasVarName)
Configure Keystorevoid
destroyKeystore()
Destroy Keystorestatic SSLManager
getInstance()
Static accessor for the SSLManager object.protected JmeterKeyStore
getKeyStore()
Opens and initializes the KeyStore.protected KeyStore
getTrustStore()
Opens and initializes the TrustStore.static boolean
isSSLSupported()
Test whether SSL is supported or not.static void
reset()
Resets the SSLManager so that we can create a new one with a new keystoreabstract void
setContext(HttpURLConnection conn)
protected void
setProvider(Provider provider)
Default implementation of setting the Provider
-
-
-
Field Detail
-
JAVAX_NET_SSL_KEY_STORE
public static final String JAVAX_NET_SSL_KEY_STORE
- See Also:
- Constant Field Values
-
defaultpw
protected String defaultpw
Have the password available
-
-
Method Detail
-
reset
public static void reset()
Resets the SSLManager so that we can create a new one with a new keystore
-
setContext
public abstract void setContext(HttpURLConnection conn)
-
setProvider
protected void setProvider(Provider provider)
Default implementation of setting the Provider- Parameters:
provider
- the provider to use
-
getKeyStore
protected JmeterKeyStore getKeyStore()
Opens and initializes the KeyStore. If the password for the KeyStore is not set, this method will prompt you to enter it. Unfortunately, there is no PasswordEntryField available from JOptionPane.- Returns:
- the configured
JmeterKeyStore
-
getTrustStore
protected KeyStore getTrustStore()
Opens and initializes the TrustStore. There are 3 possibilities: - no truststore name provided, in which case the default Java truststore should be used - truststore name is provided, and loads OK - truststore name is provided, but is not found or does not load OK, in which case an empty truststore is created If the KeyStore object cannot be created, then this is currently treated the same as if no truststore name was provided.- Returns:
- truststore - null: use Java truststore - otherwise, the truststore, which may be empty if the file could not be loaded.
-
getInstance
public static final SSLManager getInstance()
Static accessor for the SSLManager object. The SSLManager is a singleton.- Returns:
- the singleton
SSLManager
-
isSSLSupported
public static final boolean isSSLSupported()
Test whether SSL is supported or not.- Returns:
- flag whether SSL is supported
-
configureKeystore
public void configureKeystore(boolean preload, int startIndex, int endIndex, String clientCertAliasVarName)
Configure Keystore- Parameters:
preload
- flag whether the keystore should be opened within this method, or the opening should be delayedstartIndex
- first index to consider for a keyendIndex
- last index to consider for a keyclientCertAliasVarName
- name of the default key, if empty the first key will be used as default key
-
destroyKeystore
public void destroyKeystore()
Destroy Keystore
-
-