AliasKeyManager (Apache JMeter dist API)
Description: declaration: package: org.apache.jmeter.rmi, class: AliasKeyManager

Package org.apache.jmeter.rmi

# Class AliasKeyManager

java.lang.Object
org.apache.jmeter.rmi.AliasKeyManager

All Implemented Interfaces:
  `KeyManager`, `X509KeyManager`

public class AliasKeyManager extends Object implements X509KeyManager
Implementation of `KeyManager` that allows using an alias

Since:
  4.0

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `AliasKeyManager(X509KeyManager km, String alias)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `String`
  `chooseClientAlias(String[] keyType, Principal[] issuers, Socket socket)`
  `String`
  `chooseServerAlias(String keyType, Principal[] issuers, Socket socket)`
  `X509Certificate[]`
  `getCertificateChain(String alias)`
  `String[]`
  `getClientAliases(String keyType, Principal[] issuers)`
  `PrivateKey`
  `getPrivateKey(String alias)`
  `String[]`
  `getServerAliases(String keyType, Principal[] issuers)`
  `static AliasKeyManager[]`
  `wrap(KeyManager[] kms, String alias)`
  Wraps the first found `X509KeyManager` that has a private key for the given `alias` as an `AliasKeyManager` and returns it as the only element in a newly created array.

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### AliasKeyManager

    public AliasKeyManager(X509KeyManager km, String alias)

- ## Method Details

  - ### wrap

    public static AliasKeyManager[] wrap(KeyManager[] kms, String alias)
    Wraps the first found `X509KeyManager` that has a private key for the given `alias` as an `AliasKeyManager` and returns it as the only element in a newly created array.
    Parameters:
      `kms` - the KeyManagers to be searched for the `alias`
      `alias` - the name to be searched for
    Returns:
      an array with one `AliasKeyManager` that has a private key named `alias`
    Throws:
      `IllegalArgumentException` - if no valid KeyManager is found

  - ### chooseClientAlias

    public String chooseClientAlias(String[] keyType, Principal[] issuers, Socket socket)
    Specified by:
      `chooseClientAlias` in interface `X509KeyManager`

  - ### chooseServerAlias

    public String chooseServerAlias(String keyType, Principal[] issuers, Socket socket)
    Specified by:
      `chooseServerAlias` in interface `X509KeyManager`

  - ### getCertificateChain

    public X509Certificate[] getCertificateChain(String alias)
    Specified by:
      `getCertificateChain` in interface `X509KeyManager`

  - ### getClientAliases

    public String[] getClientAliases(String keyType, Principal[] issuers)
    Specified by:
      `getClientAliases` in interface `X509KeyManager`

  - ### getPrivateKey

    public PrivateKey getPrivateKey(String alias)
    Specified by:
      `getPrivateKey` in interface `X509KeyManager`

  - ### getServerAliases

    public String[] getServerAliases(String keyType, Principal[] issuers)
    Specified by:
      `getServerAliases` in interface `X509KeyManager`