org.apache.commons.ssl
Class KeyStoreBuilder
java.lang.Object
org.apache.commons.ssl.KeyStoreBuilder
public class KeyStoreBuilder
- extends java.lang.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 java.security.KeyStore |
build(byte[] jksOrCerts,
byte[] privateKey,
char[] password)
|
static java.security.KeyStore |
build(byte[] jksOrCerts,
byte[] privateKey,
char[] jksPassword,
char[] keyPassword)
|
static java.security.KeyStore |
build(byte[] jksOrCerts,
char[] password)
|
static java.security.cert.X509Certificate |
buildChain(java.security.Key key,
java.security.cert.Certificate[] chain)
Builds the chain up such that chain[ 0 ] contains the public key
corresponding to the supplied private key. |
static void |
main(java.lang.String[] args)
|
static KeyStoreBuilder.BuildResult |
parse(byte[] stuff,
char[] jksPass,
char[] keyPass)
|
private static java.security.cert.X509Certificate[] |
toChain(java.util.Collection certs)
|
private static KeyStoreBuilder.BuildResult |
tryJKS(java.lang.String keystoreType,
java.io.ByteArrayInputStream in,
char[] jksPassword,
char[] keyPassword)
|
static KeyStoreBuilder.BuildResult |
validate(java.security.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 java.lang.String PKCS7_ENCRYPTED
- See Also:
- Constant Field Values
KeyStoreBuilder
public KeyStoreBuilder()
build
public static java.security.KeyStore build(byte[] jksOrCerts,
char[] password)
throws java.io.IOException,
java.security.cert.CertificateException,
java.security.KeyStoreException,
java.security.NoSuchAlgorithmException,
java.security.InvalidKeyException,
java.security.NoSuchProviderException,
ProbablyBadPasswordException,
java.security.UnrecoverableKeyException
- Throws:
java.io.IOException
java.security.cert.CertificateException
java.security.KeyStoreException
java.security.NoSuchAlgorithmException
java.security.InvalidKeyException
java.security.NoSuchProviderException
ProbablyBadPasswordException
java.security.UnrecoverableKeyException
build
public static java.security.KeyStore build(byte[] jksOrCerts,
byte[] privateKey,
char[] password)
throws java.io.IOException,
java.security.cert.CertificateException,
java.security.KeyStoreException,
java.security.NoSuchAlgorithmException,
java.security.InvalidKeyException,
java.security.NoSuchProviderException,
ProbablyBadPasswordException,
java.security.UnrecoverableKeyException
- Throws:
java.io.IOException
java.security.cert.CertificateException
java.security.KeyStoreException
java.security.NoSuchAlgorithmException
java.security.InvalidKeyException
java.security.NoSuchProviderException
ProbablyBadPasswordException
java.security.UnrecoverableKeyException
build
public static java.security.KeyStore build(byte[] jksOrCerts,
byte[] privateKey,
char[] jksPassword,
char[] keyPassword)
throws java.io.IOException,
java.security.cert.CertificateException,
java.security.KeyStoreException,
java.security.NoSuchAlgorithmException,
java.security.InvalidKeyException,
java.security.NoSuchProviderException,
ProbablyBadPasswordException,
java.security.UnrecoverableKeyException
- Throws:
java.io.IOException
java.security.cert.CertificateException
java.security.KeyStoreException
java.security.NoSuchAlgorithmException
java.security.InvalidKeyException
java.security.NoSuchProviderException
ProbablyBadPasswordException
java.security.UnrecoverableKeyException
buildChain
public static java.security.cert.X509Certificate buildChain(java.security.Key key,
java.security.cert.Certificate[] chain)
throws java.security.cert.CertificateException,
java.security.KeyStoreException,
java.security.NoSuchAlgorithmException,
java.security.InvalidKeyException,
java.security.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:
java.security.KeyStoreException
- no certificates correspond to private key
java.security.cert.CertificateException
- java libraries complaining
java.security.NoSuchAlgorithmException
- java libraries complaining
java.security.InvalidKeyException
- java libraries complaining
java.security.NoSuchProviderException
- java libraries complaining
validate
public static KeyStoreBuilder.BuildResult validate(java.security.KeyStore jks,
char[] keyPass)
throws java.security.cert.CertificateException,
java.security.KeyStoreException,
java.security.NoSuchAlgorithmException,
java.security.InvalidKeyException,
java.security.NoSuchProviderException,
java.security.UnrecoverableKeyException
- Throws:
java.security.cert.CertificateException
java.security.KeyStoreException
java.security.NoSuchAlgorithmException
java.security.InvalidKeyException
java.security.NoSuchProviderException
java.security.UnrecoverableKeyException
parse
public static KeyStoreBuilder.BuildResult parse(byte[] stuff,
char[] jksPass,
char[] keyPass)
throws java.io.IOException,
java.security.cert.CertificateException,
java.security.KeyStoreException,
ProbablyBadPasswordException
- Throws:
java.io.IOException
java.security.cert.CertificateException
java.security.KeyStoreException
ProbablyBadPasswordException
tryJKS
private static KeyStoreBuilder.BuildResult tryJKS(java.lang.String keystoreType,
java.io.ByteArrayInputStream in,
char[] jksPassword,
char[] keyPassword)
throws ProbablyBadPasswordException
- Throws:
ProbablyBadPasswordException
toChain
private static java.security.cert.X509Certificate[] toChain(java.util.Collection certs)
main
public static void main(java.lang.String[] args)
throws java.lang.Exception
- Throws:
java.lang.Exception