Top Description Fields Constructors Methods
org.eclipse.jetty.util.ssl

public Class AliasedX509ExtendedKeyManager

extends X509ExtendedKeyManager
Class Inheritance
Imports
java.net.Socket, java.security.Principal, .PrivateKey, java.security.cert.X509Certificate, javax.net.ssl.SSLEngine, .X509ExtendedKeyManager

An X509ExtendedKeyManager that select a key with desired alias, delegating other processing to a nested X509ExtendedKeyManager.

Can be used both with server and client sockets.

Field Summary

Modifier and TypeField and Description
private final String
private final X509ExtendedKeyManager

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public String
chooseClientAlias(String[]
the key algorithm type name(s), ordered with the most-preferred key type first.
keyType
,
Principal[]
the list of acceptable CA issuer subject names or null if it does not matter which issuers are used.
issuers
,
Socket
the socket to be used for this connection. This parameter can be null, which indicates that implementations are free to select an alias applicable to any socket.
socket
)

Implements javax.net.ssl.X509KeyManager.chooseClientAlias.

Choose an alias to authenticate the client side of a secure socket given the public key type and the list of certificate issuer authorities recognized by the peer (if any).

public String
chooseEngineClientAlias(String[]
the key algorithm type name(s), ordered with the most-preferred key type first.
keyType
,
Principal[]
the list of acceptable CA issuer subject names or null if it does not matter which issuers are used.
issuers
,
SSLEngine
the SSLEngine to be used for this connection. This parameter can be null, which indicates that implementations of this interface are free to select an alias applicable to any engine.
engine
)

Overrides javax.net.ssl.X509ExtendedKeyManager.chooseEngineClientAlias.

Choose an alias to authenticate the client side of an SSLEngine connection given the public key type and the list of certificate issuer authorities recognized by the peer (if any).

public String
chooseEngineServerAlias(String
the key algorithm type name.
keyType
,
Principal[]
the list of acceptable CA issuer subject names or null if it does not matter which issuers are used.
issuers
,
SSLEngine
the SSLEngine to be used for this connection. This parameter can be null, which indicates that implementations of this interface are free to select an alias applicable to any engine.
engine
)

Overrides javax.net.ssl.X509ExtendedKeyManager.chooseEngineServerAlias.

Choose an alias to authenticate the server side of an SSLEngine connection given the public key type and the list of certificate issuer authorities recognized by the peer (if any).

public String
chooseServerAlias(String
the key algorithm type name.
keyType
,
Principal[]
the list of acceptable CA issuer subject names or null if it does not matter which issuers are used.
issuers
,
Socket
the socket to be used for this connection. This parameter can be null, which indicates that implementations are free to select an alias applicable to any socket.
socket
)

Implements javax.net.ssl.X509KeyManager.chooseServerAlias.

Choose an alias to authenticate the server side of a secure socket given the public key type and the list of certificate issuer authorities recognized by the peer (if any).

public X509Certificate[]
getCertificateChain(String
the alias name
alias
)

Implements javax.net.ssl.X509KeyManager.getCertificateChain.

Returns the certificate chain associated with the given alias.

public String[]
getClientAliases(String
the key algorithm type name
keyType
,
Principal[]
the list of acceptable CA issuer subject names, or null if it does not matter which issuers are used.
issuers
)

Implements javax.net.ssl.X509KeyManager.getClientAliases.

Get the matching aliases for authenticating the client side of a secure socket given the public key type and the list of certificate issuer authorities recognized by the peer (if any).

public X509ExtendedKeyManager
public PrivateKey
getPrivateKey(String
the alias name
alias
)

Implements javax.net.ssl.X509KeyManager.getPrivateKey.

Returns the key associated with the given alias.

public String[]
getServerAliases(String
the key algorithm type name
keyType
,
Principal[]
the list of acceptable CA issuer subject names or null if it does not matter which issuers are used.
issuers
)

Implements javax.net.ssl.X509KeyManager.getServerAliases.

Get the matching aliases for authenticating the server side of a secure socket given the public key type and the list of certificate issuer authorities recognized by the peer (if any).

Field Detail

_aliasback to summary
private final String _alias
_delegateback to summary
private final X509ExtendedKeyManager _delegate

Constructor Detail

AliasedX509ExtendedKeyManagerback to summary
public AliasedX509ExtendedKeyManager(X509ExtendedKeyManager keyManager, String keyAlias)

Method Detail

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

Implements javax.net.ssl.X509KeyManager.chooseClientAlias.

Doc from javax.net.ssl.X509KeyManager.chooseClientAlias.

Choose an alias to authenticate the client side of a secure socket given the public key type and the list of certificate issuer authorities recognized by the peer (if any).

Parameters
keyType:String[]

the key algorithm type name(s), ordered with the most-preferred key type first.

issuers:Principal[]

the list of acceptable CA issuer subject names or null if it does not matter which issuers are used.

socket:Socket

the socket to be used for this connection. This parameter can be null, which indicates that implementations are free to select an alias applicable to any socket.

Returns:String

the alias name for the desired key, or null if there are no matches.

Annotations
@Override
chooseEngineClientAliasback to summary
public String chooseEngineClientAlias(String[] keyType, Principal[] issuers, SSLEngine engine)

Overrides javax.net.ssl.X509ExtendedKeyManager.chooseEngineClientAlias.

Doc from javax.net.ssl.X509ExtendedKeyManager.chooseEngineClientAlias.

Choose an alias to authenticate the client side of an SSLEngine connection given the public key type and the list of certificate issuer authorities recognized by the peer (if any).

The default implementation returns null.

Parameters
keyType:String[]

the key algorithm type name(s), ordered with the most-preferred key type first.

issuers:Principal[]

the list of acceptable CA issuer subject names or null if it does not matter which issuers are used.

engine:SSLEngine

the SSLEngine to be used for this connection. This parameter can be null, which indicates that implementations of this interface are free to select an alias applicable to any engine.

Returns:String

the alias name for the desired key, or null if there are no matches.

Annotations
@Override
chooseEngineServerAliasback to summary
public String chooseEngineServerAlias(String keyType, Principal[] issuers, SSLEngine engine)

Overrides javax.net.ssl.X509ExtendedKeyManager.chooseEngineServerAlias.

Doc from javax.net.ssl.X509ExtendedKeyManager.chooseEngineServerAlias.

Choose an alias to authenticate the server side of an SSLEngine connection given the public key type and the list of certificate issuer authorities recognized by the peer (if any).

The default implementation returns null.

Parameters
keyType:String

the key algorithm type name.

issuers:Principal[]

the list of acceptable CA issuer subject names or null if it does not matter which issuers are used.

engine:SSLEngine

the SSLEngine to be used for this connection. This parameter can be null, which indicates that implementations of this interface are free to select an alias applicable to any engine.

Returns:String

the alias name for the desired key, or null if there are no matches.

Annotations
@Override
chooseServerAliasback to summary
public String chooseServerAlias(String keyType, Principal[] issuers, Socket socket)

Implements javax.net.ssl.X509KeyManager.chooseServerAlias.

Doc from javax.net.ssl.X509KeyManager.chooseServerAlias.

Choose an alias to authenticate the server side of a secure socket given the public key type and the list of certificate issuer authorities recognized by the peer (if any).

Parameters
keyType:String

the key algorithm type name.

issuers:Principal[]

the list of acceptable CA issuer subject names or null if it does not matter which issuers are used.

socket:Socket

the socket to be used for this connection. This parameter can be null, which indicates that implementations are free to select an alias applicable to any socket.

Returns:String

the alias name for the desired key, or null if there are no matches.

Annotations
@Override
getCertificateChainback to summary
public X509Certificate[] getCertificateChain(String alias)

Implements javax.net.ssl.X509KeyManager.getCertificateChain.

Doc from javax.net.ssl.X509KeyManager.getCertificateChain.

Returns the certificate chain associated with the given alias.

Parameters
alias:String

the alias name

Returns:X509Certificate[]

the certificate chain (ordered with the user's certificate first and the root certificate authority last), or null if the alias can't be found.

Annotations
@Override
getClientAliasesback to summary
public String[] getClientAliases(String keyType, Principal[] issuers)

Implements javax.net.ssl.X509KeyManager.getClientAliases.

Doc from javax.net.ssl.X509KeyManager.getClientAliases.

Get the matching aliases for authenticating the client side of a secure socket given the public key type and the list of certificate issuer authorities recognized by the peer (if any).

Parameters
keyType:String

the key algorithm type name

issuers:Principal[]

the list of acceptable CA issuer subject names, or null if it does not matter which issuers are used.

Returns:String[]

an array of the matching alias names, or null if there were no matches.

Annotations
@Override
getDelegateback to summary
public X509ExtendedKeyManager getDelegate()
getPrivateKeyback to summary
public PrivateKey getPrivateKey(String alias)

Implements javax.net.ssl.X509KeyManager.getPrivateKey.

Doc from javax.net.ssl.X509KeyManager.getPrivateKey.

Returns the key associated with the given alias.

Parameters
alias:String

the alias name

Returns:PrivateKey

the requested key, or null if the alias can't be found.

Annotations
@Override
getServerAliasesback to summary
public String[] getServerAliases(String keyType, Principal[] issuers)

Implements javax.net.ssl.X509KeyManager.getServerAliases.

Doc from javax.net.ssl.X509KeyManager.getServerAliases.

Get the matching aliases for authenticating the server side of a secure socket given the public key type and the list of certificate issuer authorities recognized by the peer (if any).

Parameters
keyType:String

the key algorithm type name

issuers:Principal[]

the list of acceptable CA issuer subject names or null if it does not matter which issuers are used.

Returns:String[]

an array of the matching alias names, or null if there were no matches.

Annotations
@Override