Package com.iizix.security
Class GenerateKeystore
- java.lang.Object
- com.iizix.security.GenerateKeystore
public class GenerateKeystore extends java.lang.Object
Class used to generate a keystore for use with e.g. IIZI applications that are signed using a developer's code signing certificate.- Author:
- Christopher Mindus
Constructor Summary
Constructors Constructor Description GenerateKeystore()
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static java.security.KeyStore
createCodeSigningCertificateKeystore(javax.security.auth.x500.X500Principal owner, java.lang.String alias, char[] password, java.security.KeyStore issuerKeyStore, java.lang.String issuerAlias, char[] issuerPassword)
Generates a 4096 bit RSA code signing certificate keystore.static java.security.KeyStore
generateSelfSignedX509Certificate(javax.security.auth.x500.X500Principal owner, java.lang.String alias, char[] password)
Generate a self signed X.509 certificate version 3 with an RSA key length of 2048, signed with SHA256.static void
initialize()
Initialize routine for Bouncy Castle provider.
Method Detail
initialize
public static void initialize()
Initialize routine for Bouncy Castle provider.
generateSelfSignedX509Certificate
public static java.security.KeyStore generateSelfSignedX509Certificate(javax.security.auth.x500.X500Principal owner, java.lang.String alias, char[] password) throws java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException, java.security.InvalidKeyException, java.lang.IllegalStateException, java.security.SignatureException, java.security.KeyStoreException, java.security.cert.CertificateException, java.io.IOException
Generate a self signed X.509 certificate version 3 with an RSA key length of 2048, signed with SHA256. It is valid 10000 days starting yesterday (i.e. for over 27 years).- Parameters:
owner
- The owner of the certificate.alias
- The keystore alias.password
- The keystore and key password (the same).- Returns:
- The new keystore.
- Throws:
java.security.NoSuchProviderException
- If no provider is found.java.security.NoSuchAlgorithmException
- If no algorithm is found.java.security.SignatureException
- If the signature is in error.java.lang.IllegalStateException
- If the state is invalid.java.security.InvalidKeyException
- If the key in invalid.java.security.KeyStoreException
- Key stores exceptions.java.io.IOException
- General I/O exception.java.security.cert.CertificateException
- Errors reading certificates.
createCodeSigningCertificateKeystore
public static java.security.KeyStore createCodeSigningCertificateKeystore(javax.security.auth.x500.X500Principal owner, java.lang.String alias, char[] password, java.security.KeyStore issuerKeyStore, java.lang.String issuerAlias, char[] issuerPassword) throws java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException, org.bouncycastle.cert.CertIOException, java.io.IOException, org.bouncycastle.operator.OperatorCreationException, java.security.cert.CertificateException, java.security.KeyStoreException, java.security.UnrecoverableKeyException
Generates a 4096 bit RSA code signing certificate keystore.- Parameters:
owner
- The owner principal of the code signer certificate to create.alias
- The alias of the certificate chain in the returned keystore.password
- The password for the private key in the returned keystore.issuerKeyStore
- The issuer keystore, or null for self-signed.issuerAlias
- Alias for the issuer keystore, null for self-signed.issuerPassword
- Password for the issuer certificate chainof the alias, null for self-signed.- Returns:
- The keystore.
- Throws:
java.security.NoSuchProviderException
- If no provider is found.java.security.NoSuchAlgorithmException
- If no algorithm is found.org.bouncycastle.cert.CertIOException
- I/O exception when reading a certificate.java.lang.IllegalStateException
- If the state is invalid.java.security.KeyStoreException
- Key stores exceptions.java.io.IOException
- General I/O exception.java.security.cert.CertificateException
- Errors reading certificates.org.bouncycastle.operator.OperatorCreationException
java.security.UnrecoverableKeyException