com.sun.net.ssl
Interface X509KeyManager


public interface X509KeyManager
extends KeyManager

Instances of this interface manage which X509 certificate-based key pairs are used to authenticate the local side of a secure socket. The individual entries are identified by unique alias names.


Method Summary
 String chooseClientAlias(String keyType, Principal[] issuers)
          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).
 String chooseServerAlias(String keyType, Principal[] issuers)
          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).
 X509Certificate[] 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).
 PrivateKey getPrivateKey(String 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).
 

Method Detail

getClientAliases

public 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).
Parameters:
keyType - the key algorithm type name
issuers - the list of acceptable CA issuer subject names
Returns:
the matching alias names

chooseClientAlias

public String chooseClientAlias(String keyType,
                                Principal[] issuers)
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 - the key algorithm type name
issuers - the list of acceptable CA issuer subject names
Returns:
the alias name for the desired key

getServerAliases

public 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).
Parameters:
keyType - the key algorithm type name
issuers - the list of acceptable CA issuer subject names
Returns:
the matching alias names

chooseServerAlias

public String chooseServerAlias(String keyType,
                                Principal[] issuers)
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 - the key algorithm type name
issuers - the list of acceptable CA issuer subject names
Returns:
the alias name for the desired key

getCertificateChain

public X509Certificate[] getCertificateChain(String alias)
Returns the certificate chain associated with the given alias.
Parameters:
alias - the alias name
Returns:
the certificate chain (ordered with the user's certificate first and the root certificate authority last)

getPrivateKey

public PrivateKey getPrivateKey(String alias)