Class JmeterKeyStore

java.lang.Object
org.apache.jmeter.util.keystore.JmeterKeyStore

public final class JmeterKeyStore extends Object
Use this Keystore for JMeter specific KeyStores.
  • Field Details

  • Method Details

    • load

      Process the input stream and try to read the keys from the store
      Parameters:
      is - InputStream from which the store should be loaded
      pword - the password used to check the integrity of the store
      Throws:
      IOException - if there is a problem decoding or reading the store. A bad password might be the cause for this, or an empty store
      CertificateException - if any of the certificated in the store can not be loaded
      NoSuchAlgorithmException - if the algorithm to check the integrity of the store can not be found
      KeyStoreException - if the store has not been initialized (should not happen here)
      UnrecoverableKeyException - if the key can not be recovered from the store (should not happen here, either)
    • getCertificateChain

      public X509Certificate[] getCertificateChain(String alias)
      Get the ordered certificate chain for a specific alias.
      Parameters:
      alias - the alias for which the certificate chain should be given
      Returns:
      the certificate chain for the alias or null if not found
      See Also:
    • getAlias

      public String getAlias()
      Get the next or only alias.
      Returns:
      the next or only alias.
      Throws:
      IllegalArgumentException - if clientCertAliasVarName is not empty and no key for this alias could be found
    • getAliasCount

      public int getAliasCount()
    • getAlias

      public String getAlias(int index)
    • getPrivateKey

      public PrivateKey getPrivateKey(String alias)
      Return the private Key for a specific alias
      Parameters:
      alias - the name of the alias for the private key
      Returns:
      the private key for the given alias
      Throws:
      IllegalArgumentException - when no private key could be found
    • getInstance

      public static JmeterKeyStore getInstance(String type, int startIndex, int endIndex, String clientCertAliasVarName) throws KeyStoreException
      Create a keystore which returns a range of aliases (if available)
      Parameters:
      type - store type (e.g. JKS)
      startIndex - first index (from 0)
      endIndex - last index (to count-1)
      clientCertAliasVarName - name of the default key to, if empty the first key will be used as default key
      Returns:
      the keystore
      Throws:
      KeyStoreException - when the type of the store is not supported
      IllegalArgumentException - when startIndex < 0, endIndex < -1, or endIndex < startIndex
    • getInstance

      public static JmeterKeyStore getInstance(String type) throws KeyStoreException
      Create a keystore which returns the first alias only.
      Parameters:
      type - of the store e.g. JKS
      Returns:
      the keystore
      Throws:
      KeyStoreException - when the type of the store is not supported
    • getClientAliases

      public String[] getClientAliases(String keyType, Principal[] issuers)
      Compiles the list of all client aliases with a private key. TODO Currently, keyType and issuers are both ignored.
      Parameters:
      keyType - the key algorithm type name (RSA, DSA, etc.)
      issuers - the CA certificates we are narrowing our selection on.
      Returns:
      the array of aliases; null if none.
      See Also: