org.apache.tomcat.util.net.jsse

## Class NioX509KeyManager

- java.lang.Object
- - javax.net.ssl.X509ExtendedKeyManager
  - - org.apache.tomcat.util.net.jsse.NioX509KeyManager

All Implemented Interfaces:
  KeyManager, X509KeyManager

    public class NioX509KeyManager
    extends X509ExtendedKeyManager

### Constructor Summary

Constructors
Constructor and Description
`NioX509KeyManager(X509KeyManager mgr, String serverKeyAlias)` Constructor.

### Method Summary

Methods
`String` `chooseClientAlias(String[] keyType, Principal[] issuers, Socket socket)`
`String` `chooseEngineServerAlias(String keyType, Principal[] issuers, SSLEngine engine)`
`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)`

### Methods inherited from class javax.net.ssl.X509ExtendedKeyManager

`chooseEngineClientAlias`

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

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

### Constructor Detail

#### NioX509KeyManager

    public NioX509KeyManager(X509KeyManager mgr,
                     String serverKeyAlias)

Constructor.

Parameters:
  `mgr` - The X509KeyManager used as a delegate
  `serverKeyAlias` - The alias name of the server's keypair and supporting certificate chain

### Method Detail

#### chooseClientAlias

    public String chooseClientAlias(String[] keyType,
                           Principal[] issuers,
                           Socket socket)

#### chooseServerAlias

    public String chooseServerAlias(String keyType,
                           Principal[] issuers,
                           Socket socket)

#### getCertificateChain

    public X509Certificate[] getCertificateChain(String alias)

#### getClientAliases

    public String[] getClientAliases(String keyType,
                            Principal[] issuers)

#### getPrivateKey

    public PrivateKey getPrivateKey(String alias)

#### getServerAliases

    public String[] getServerAliases(String keyType,
                            Principal[] issuers)

#### chooseEngineServerAlias

    public String chooseEngineServerAlias(String keyType,
                                 Principal[] issuers,
                                 SSLEngine engine)

Overrides:
  `chooseEngineServerAlias` in class `X509ExtendedKeyManager`