Package org.apache.commons.net.util
Class KeyManagerUtils
java.lang.Object
org.apache.commons.net.util.KeyManagerUtils
General KeyManager utilities
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:
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
Modifier and TypeMethodDescriptionstatic 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
(String storeType, File storePath, String storePass, String keyAlias, String keyPass) 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.
-
Method Details
-
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 keyStorestorePass
- the keyStore password- Returns:
- the customised KeyManager
- Throws:
IOException
- if there is a problem creating the keystoreGeneralSecurityException
- if there is a problem creating the keystore
-
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 keyStorestorePass
- the keyStore passwordkeyAlias
- the alias of the key to use, may benull
in which case the first key entry alias is used- Returns:
- the customised KeyManager
- Throws:
IOException
- if there is a problem creating the keystoreGeneralSecurityException
- if there is a problem creating the keystore
-
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 usekeyAlias
- the alias of the key to use, may benull
in which case the first key entry alias is usedkeyPass
- the password of the key to use- Returns:
- the customised KeyManager
- Throws:
GeneralSecurityException
- if there is a problem creating the keystore
-
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 keyStorestorePass
- the keyStore passwordkeyAlias
- the alias of the key to use, may benull
in which case the first key entry alias is usedkeyPass
- the password of the key to use- Returns:
- the customised KeyManager
- Throws:
GeneralSecurityException
- if there is a problem creating the keystoreIOException
- if there is a problem creating the keystore
-