Package org.jboss.modcluster.mcmp.impl
Class JSSEKeyManager
java.lang.Object
org.jboss.modcluster.mcmp.impl.JSSEKeyManager
- All Implemented Interfaces:
KeyManager,X509KeyManager
X509KeyManager which allows selection of a specific keypair and certificate chain (identified by their keystore alias name)
to be used by the server to authenticate itself to SSL clients.
- Author:
- Jan Luehe
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionchooseClientAlias(String[] keyType, Principal[] issuers, Socket socket) 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).chooseServerAlias(String keyType, Principal[] issuers, Socket socket) Returns this key manager's server key alias that was provided in the constructor.getCertificateChain(String alias) Returns the certificate chain associated with the given alias.String[]getClientAliases(String keyType, Principal[] issuers) 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).getPrivateKey(String alias) Returns the key associated with the given alias.String[]getServerAliases(String keyType, Principal[] issuers) 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).
-
Constructor Details
-
JSSEKeyManager
Constructor.- Parameters:
mgr- The X509KeyManager used as a delegateserverKeyAlias- The alias name of the server's keypair and supporting certificate chain
-
-
Method Details
-
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).- Specified by:
chooseClientAliasin interfaceX509KeyManager- Parameters:
keyType- The key algorithm type name(s), ordered with the most-preferred key type firstissuers- The list of acceptable CA issuer subject names, or null if it does not matter which issuers are usedsocket- The socket to be used for this connection. This parameter can be null, in which case this method will return the most generic alias to use- Returns:
- The alias name for the desired key, or null if there are no matches
-
chooseServerAlias
Returns this key manager's server key alias that was provided in the constructor.- Specified by:
chooseServerAliasin interfaceX509KeyManager- Parameters:
keyType- The key algorithm type name (ignored)issuers- The list of acceptable CA issuer subject names, or null if it does not matter which issuers are used (ignored)socket- The socket to be used for this connection. This parameter can be null, in which case this method will return the most generic alias to use (ignored)- Returns:
- Alias name for the desired key
-
getCertificateChain
Returns the certificate chain associated with the given alias.- Specified by:
getCertificateChainin interfaceX509KeyManager- Parameters:
alias- The alias name- Returns:
- Certificate chain (ordered with the user's certificate first and the root certificate authority last), or null if the alias can't be found
-
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).- Specified by:
getClientAliasesin interfaceX509KeyManager- Parameters:
keyType- The key algorithm type nameissuers- The list of acceptable CA issuer subject names, or null if it does not matter which issuers are used- Returns:
- Array of the matching alias names, or null if there were no matches
-
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).- Specified by:
getServerAliasesin interfaceX509KeyManager- Parameters:
keyType- The key algorithm type nameissuers- The list of acceptable CA issuer subject names, or null if it does not matter which issuers are used- Returns:
- Array of the matching alias names, or null if there were no matches
-
getPrivateKey
Returns the key associated with the given alias.- Specified by:
getPrivateKeyin interfaceX509KeyManager- Parameters:
alias- The alias name- Returns:
- The requested key, or null if the alias can't be found
-