public class KeyStoreTestUtil
extends java.lang.Object
| Constructor and Description |
|---|
KeyStoreTestUtil() |
| Modifier and Type | Method and Description |
|---|---|
static void |
cleanupSSLConfig(java.lang.String keystoresDir,
java.lang.String sslConfDir) |
static Configuration |
createClientSSLConfig(java.lang.String clientKS,
java.lang.String password,
java.lang.String keyPassword,
java.lang.String trustKS)
Creates SSL configuration for a client.
|
static void |
createKeyStore(java.lang.String filename,
java.lang.String password,
java.lang.String alias,
java.security.Key privateKey,
java.security.cert.Certificate cert) |
static void |
createKeyStore(java.lang.String filename,
java.lang.String password,
java.lang.String keyPassword,
java.lang.String alias,
java.security.Key privateKey,
java.security.cert.Certificate cert)
Creates a keystore with a single key and saves it to a file.
|
static Configuration |
createServerSSLConfig(java.lang.String serverKS,
java.lang.String password,
java.lang.String keyPassword,
java.lang.String trustKS)
Creates SSL configuration for a server.
|
static <T extends java.security.cert.Certificate> |
createTrustStore(java.lang.String filename,
java.lang.String password,
java.util.Map<java.lang.String,T> certs) |
static void |
createTrustStore(java.lang.String filename,
java.lang.String password,
java.lang.String alias,
java.security.cert.Certificate cert) |
static java.security.cert.X509Certificate |
generateCertificate(java.lang.String dn,
java.security.KeyPair pair,
int days,
java.lang.String algorithm)
Create a self-signed X.509 Certificate.
|
static java.security.KeyPair |
generateKeyPair(java.lang.String algorithm) |
static java.lang.String |
getClasspathDir(java.lang.Class<?> klass) |
static void |
saveConfig(java.io.File file,
Configuration conf)
Saves configuration to a file.
|
static void |
setupSSLConfig(java.lang.String keystoresDir,
java.lang.String sslConfDir,
Configuration conf,
boolean useClientCert)
Performs complete setup of SSL configuration in preparation for testing an
SSLFactory.
|
public static java.lang.String getClasspathDir(java.lang.Class<?> klass)
throws java.lang.Exception
java.lang.Exceptionpublic static java.security.cert.X509Certificate generateCertificate(java.lang.String dn,
java.security.KeyPair pair,
int days,
java.lang.String algorithm)
throws java.security.cert.CertificateEncodingException,
java.security.InvalidKeyException,
java.lang.IllegalStateException,
java.security.NoSuchProviderException,
java.security.NoSuchAlgorithmException,
java.security.SignatureException
dn - the X.509 Distinguished Name, eg "CN=Test, L=London, C=GB"pair - the KeyPairdays - how many days from now the Certificate is valid foralgorithm - the signing algorithm, eg "SHA1withRSA"java.security.cert.CertificateEncodingExceptionjava.security.InvalidKeyExceptionjava.lang.IllegalStateExceptionjava.security.NoSuchProviderExceptionjava.security.NoSuchAlgorithmExceptionjava.security.SignatureExceptionpublic static java.security.KeyPair generateKeyPair(java.lang.String algorithm)
throws java.security.NoSuchAlgorithmException
java.security.NoSuchAlgorithmExceptionpublic static void createKeyStore(java.lang.String filename,
java.lang.String password,
java.lang.String alias,
java.security.Key privateKey,
java.security.cert.Certificate cert)
throws java.security.GeneralSecurityException,
java.io.IOException
java.security.GeneralSecurityExceptionjava.io.IOExceptionpublic static void createKeyStore(java.lang.String filename,
java.lang.String password,
java.lang.String keyPassword,
java.lang.String alias,
java.security.Key privateKey,
java.security.cert.Certificate cert)
throws java.security.GeneralSecurityException,
java.io.IOException
filename - String file to savepassword - String store password to set on keystorekeyPassword - String key password to set on keyalias - String alias to use for the keyprivateKey - Key to save in keystorecert - Certificate to use as certificate chain associated to keyjava.security.GeneralSecurityException - for any error with the security APIsjava.io.IOException - if there is an I/O error saving the filepublic static void createTrustStore(java.lang.String filename,
java.lang.String password,
java.lang.String alias,
java.security.cert.Certificate cert)
throws java.security.GeneralSecurityException,
java.io.IOException
java.security.GeneralSecurityExceptionjava.io.IOExceptionpublic static <T extends java.security.cert.Certificate> void createTrustStore(java.lang.String filename,
java.lang.String password,
java.util.Map<java.lang.String,T> certs)
throws java.security.GeneralSecurityException,
java.io.IOException
java.security.GeneralSecurityExceptionjava.io.IOExceptionpublic static void cleanupSSLConfig(java.lang.String keystoresDir,
java.lang.String sslConfDir)
throws java.lang.Exception
java.lang.Exceptionpublic static void setupSSLConfig(java.lang.String keystoresDir,
java.lang.String sslConfDir,
Configuration conf,
boolean useClientCert)
throws java.lang.Exception
keystoresDir - String directory to save keystoressslConfDir - String directory to save SSL configuration filesconf - Configuration master configuration to be used by an SSLFactory,
which will be mutated by this methoduseClientCert - boolean true to make the client present a cert in the
SSL handshakejava.lang.Exceptionpublic static Configuration createClientSSLConfig(java.lang.String clientKS,
java.lang.String password,
java.lang.String keyPassword,
java.lang.String trustKS)
clientKS - String client keystore filepassword - String store password, or null to avoid setting store
passwordkeyPassword - String key password, or null to avoid setting key
passwordtrustKS - String truststore filepublic static Configuration createServerSSLConfig(java.lang.String serverKS,
java.lang.String password,
java.lang.String keyPassword,
java.lang.String trustKS)
throws java.io.IOException
serverKS - String server keystore filepassword - String store password, or null to avoid setting store
passwordkeyPassword - String key password, or null to avoid setting key
passwordtrustKS - String truststore filejava.io.IOExceptionpublic static void saveConfig(java.io.File file,
Configuration conf)
throws java.io.IOException
file - File to saveconf - Configuration contents to write to filejava.io.IOException - if there is an I/O error saving the file