org.apache.commons.ssl
Class KeyStoreBuilder
java.lang.Object
org.apache.commons.ssl.KeyStoreBuilder
public class KeyStoreBuilder
- extends Object
Builds Java Key Store files out of pkcs12 files, or out of pkcs8 files +
certificate chains. Also supports OpenSSL style private keys (encrypted or
unencrypted).
- Since:
- 4-Nov-2006
- Author:
- Credit Union Central of British Columbia, www.cucbc.com, juliusdavies@cucbc.com
Method Summary |
static KeyStore |
build(byte[] jksOrCerts,
byte[] privateKey,
char[] password)
|
static KeyStore |
build(byte[] jksOrCerts,
byte[] privateKey,
char[] jksPassword,
char[] keyPassword)
|
static KeyStore |
build(byte[] jksOrCerts,
char[] password)
|
static X509Certificate |
buildChain(Key key,
Certificate[] chain)
Builds the chain up such that chain[ 0 ] contains the public key
corresponding to the supplied private key. |
static void |
main(String[] args)
|
static KeyStoreBuilder.BuildResult |
parse(byte[] stuff,
char[] jksPass,
char[] keyPass)
|
private static X509Certificate[] |
toChain(Collection certs)
|
private static KeyStoreBuilder.BuildResult |
tryJKS(String keystoreType,
ByteArrayInputStream in,
char[] jksPassword,
char[] keyPassword)
|
static KeyStoreBuilder.BuildResult |
validate(KeyStore jks,
char[] keyPass)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
PKCS7_ENCRYPTED
private static final String PKCS7_ENCRYPTED
- See Also:
- Constant Field Values
KeyStoreBuilder
public KeyStoreBuilder()
build
public static KeyStore build(byte[] jksOrCerts,
char[] password)
throws IOException,
CertificateException,
KeyStoreException,
NoSuchAlgorithmException,
InvalidKeyException,
NoSuchProviderException,
ProbablyBadPasswordException,
UnrecoverableKeyException
- Throws:
IOException
CertificateException
KeyStoreException
NoSuchAlgorithmException
InvalidKeyException
NoSuchProviderException
ProbablyBadPasswordException
UnrecoverableKeyException
build
public static KeyStore build(byte[] jksOrCerts,
byte[] privateKey,
char[] password)
throws IOException,
CertificateException,
KeyStoreException,
NoSuchAlgorithmException,
InvalidKeyException,
NoSuchProviderException,
ProbablyBadPasswordException,
UnrecoverableKeyException
- Throws:
IOException
CertificateException
KeyStoreException
NoSuchAlgorithmException
InvalidKeyException
NoSuchProviderException
ProbablyBadPasswordException
UnrecoverableKeyException
build
public static KeyStore build(byte[] jksOrCerts,
byte[] privateKey,
char[] jksPassword,
char[] keyPassword)
throws IOException,
CertificateException,
KeyStoreException,
NoSuchAlgorithmException,
InvalidKeyException,
NoSuchProviderException,
ProbablyBadPasswordException,
UnrecoverableKeyException
- Throws:
IOException
CertificateException
KeyStoreException
NoSuchAlgorithmException
InvalidKeyException
NoSuchProviderException
ProbablyBadPasswordException
UnrecoverableKeyException
buildChain
public static X509Certificate buildChain(Key key,
Certificate[] chain)
throws CertificateException,
KeyStoreException,
NoSuchAlgorithmException,
InvalidKeyException,
NoSuchProviderException
- Builds the chain up such that chain[ 0 ] contains the public key
corresponding to the supplied private key.
- Parameters:
key
- private keychain
- array of certificates to build chain from
- Returns:
- theOne!
- Throws:
KeyStoreException
- no certificates correspond to private key
CertificateException
- java libraries complaining
NoSuchAlgorithmException
- java libraries complaining
InvalidKeyException
- java libraries complaining
NoSuchProviderException
- java libraries complaining
validate
public static KeyStoreBuilder.BuildResult validate(KeyStore jks,
char[] keyPass)
throws CertificateException,
KeyStoreException,
NoSuchAlgorithmException,
InvalidKeyException,
NoSuchProviderException,
UnrecoverableKeyException
- Throws:
CertificateException
KeyStoreException
NoSuchAlgorithmException
InvalidKeyException
NoSuchProviderException
UnrecoverableKeyException
parse
public static KeyStoreBuilder.BuildResult parse(byte[] stuff,
char[] jksPass,
char[] keyPass)
throws IOException,
CertificateException,
KeyStoreException,
ProbablyBadPasswordException
- Throws:
IOException
CertificateException
KeyStoreException
ProbablyBadPasswordException
tryJKS
private static KeyStoreBuilder.BuildResult tryJKS(String keystoreType,
ByteArrayInputStream in,
char[] jksPassword,
char[] keyPassword)
throws ProbablyBadPasswordException
- Throws:
ProbablyBadPasswordException
toChain
private static X509Certificate[] toChain(Collection certs)
main
public static void main(String[] args)
throws Exception
- Throws:
Exception