Apache JMeter

org.apache.jmeter.util
Class SSLManager

java.lang.Object
  extended by 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
protected  String defaultpw
          Have the password available
static String JAVAX_NET_SSL_KEY_STORE
           
 
Constructor Summary
protected SSLManager()
          Protected Constructor to remove the possibility of directly instantiating this object.
 
Method Summary
 void configureKeystore(boolean preload, int startIndex, int endIndex, String clientCertAliasVarName)
          Configure Keystore
 void destroyKeystore()
          Destroy Keystore
static 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 keystore
abstract  void setContext(HttpURLConnection conn)
           
protected  void setProvider(Provider provider)
          Default implementation of setting the Provider
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

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

Constructor Detail

SSLManager

protected SSLManager()
Protected Constructor to remove the possibility of directly instantiating this object. Create the SSLContext, and wrap all the X509KeyManagers with our X509KeyManager so that we can choose our alias.

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


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.


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.


isSSLSupported

public static final boolean isSSLSupported()
Test whether SSL is supported or not.


configureKeystore

public void configureKeystore(boolean preload,
                              int startIndex,
                              int endIndex,
                              String clientCertAliasVarName)
Configure Keystore

Parameters:
preload -
startIndex -
endIndex -
clientCertAliasVarName -

destroyKeystore

public void destroyKeystore()
Destroy Keystore


Apache JMeter

Copyright © 1998-2014 Apache Software Foundation. All Rights Reserved.