org.apache.commons.net.util
Class KeyManagerUtils

java.lang.Object
  extended by org.apache.commons.net.util.KeyManagerUtils

public final class KeyManagerUtils
extends Object

General KeyManager utilities

How to use with a client certificate:

 KeyManager km = KeyManagerUtils.createClientKeyManager("JKS",
     "/path/to/privatekeystore.jks","storepassword",
     "privatekeyalias", "keypassword");
 FTPSClient cl = new FTPSClient();
 cl.setKeyManager(km);
 cl.connect(...);
 
If using the default store type and the key password is the same as the store password, these parameters can be omitted.
If the desired key is the first or only key in the keystore, the keyAlias parameter can be omitted, in which case the code becomes:
 KeyManager km = KeyManagerUtils.createClientKeyManager(
     "/path/to/privatekeystore.jks","storepassword");
 FTPSClient cl = new FTPSClient();
 cl.setKeyManager(km);
 cl.connect(...);
 

Since:
3.0

Method Summary
static KeyManager createClientKeyManager(File storePath, String storePass)
          Create a client key manager which returns a particular key.
static KeyManager createClientKeyManager(File storePath, String storePass, String keyAlias)
          Create a client key manager which returns a particular key.
static KeyManager createClientKeyManager(KeyStore ks, String keyAlias, String keyPass)
          Create a client key manager which returns a particular key.
static KeyManager createClientKeyManager(String storeType, File storePath, String storePass, String keyAlias, String keyPass)
          Create a client key manager which returns a particular key.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

createClientKeyManager

public static KeyManager createClientKeyManager(KeyStore ks,
                                                String keyAlias,
                                                String keyPass)
                                         throws GeneralSecurityException
Create a client key manager which returns a particular key. Does not handle server keys.

Parameters:
ks - the keystore to use
keyAlias - the alias of the key to use, may be null in which case the first key entry alias is used
keyPass - the password of the key to use
Returns:
the customised KeyManager
Throws:
GeneralSecurityException

createClientKeyManager

public static KeyManager createClientKeyManager(String storeType,
                                                File storePath,
                                                String storePass,
                                                String keyAlias,
                                                String keyPass)
                                         throws IOException,
                                                GeneralSecurityException
Create a client key manager which returns a particular key. Does not handle server keys.

Parameters:
storeType - the type of the keyStore, e.g. "JKS"
storePath - the path to the keyStore
storePass - the keyStore password
keyAlias - the alias of the key to use, may be null in which case the first key entry alias is used
keyPass - the password of the key to use
Returns:
the customised KeyManager
Throws:
IOException
GeneralSecurityException

createClientKeyManager

public static KeyManager createClientKeyManager(File storePath,
                                                String storePass,
                                                String keyAlias)
                                         throws IOException,
                                                GeneralSecurityException
Create a client key manager which returns a particular key. Does not handle server keys. Uses the default store type and assumes the key password is the same as the store password

Parameters:
storePath - the path to the keyStore
storePass - the keyStore password
keyAlias - the alias of the key to use, may be null in which case the first key entry alias is used
Returns:
the customised KeyManager
Throws:
IOException
GeneralSecurityException

createClientKeyManager

public static KeyManager createClientKeyManager(File storePath,
                                                String storePass)
                                         throws IOException,
                                                GeneralSecurityException
Create a client key manager which returns a particular key. Does not handle server keys. Uses the default store type and assumes the key password is the same as the store password. The key alias is found by searching the keystore for the first private key entry

Parameters:
storePath - the path to the keyStore
storePass - the keyStore password
Returns:
the customised KeyManager
Throws:
IOException
GeneralSecurityException


Copyright © 2001-2012 The Apache Software Foundation. All Rights Reserved.