Class KeyStoreUtil


  • public final class KeyStoreUtil
    extends java.lang.Object
    KeyStore util class.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.security.KeyStore addCertificateToKeystore​(java.security.KeyStore keyStore, java.lang.String inputAlias, java.security.cert.X509Certificate[] certificateChain)
      Add a certificate chain to the keystore
      java.security.KeyStore addCertificateToTrustKeystore​(java.lang.String alias, java.security.cert.X509Certificate certificate)
      Add a certificate to the default trust keystore
      java.security.KeyStore addCertificateToTrustKeystore​(java.lang.String alias, java.security.cert.X509Certificate[] certificateChain)
      Add a certificate chain to the default trust keystore
      java.security.KeyStore createKeyStore​(java.lang.String password)
      Create a new keystore
      java.security.KeyStore createKeyStore​(java.lang.String fileName, java.lang.String password)
      Create a new keystore
      java.security.KeyStore createPKCS12KeyStore​(java.lang.String provider, java.lang.String alias, java.security.PrivateKey privateKey, java.security.cert.Certificate[] certificates, com.github.toolarium.common.security.ISecuredValue<java.lang.String> password)
      Create a PKCS12 key store
      java.security.KeyStore getDefaultTrustKeyStore()
      Get default trust keystore
      javax.net.ssl.TrustManager[] getDefaultTrustManager()
      Get default TrustManager.
      javax.net.ssl.X509TrustManager getDefaultX509TrustManager()
      Get default TrustManager.
      static KeyStoreUtil getInstance()
      Get the instance
      javax.net.ssl.TrustManager[] getTrustAllCertificateManager()
      Get a TrustManager which trust all certificates
      java.security.KeyStore readKeyStore​(java.lang.String fileName, java.lang.String type, java.lang.String provider, com.github.toolarium.common.security.ISecuredValue<java.lang.String> password)
      Read a file as key store
      CertificateStore readPKCS12KeyPair​(java.lang.String fileName, java.lang.String provider, java.lang.String alias, com.github.toolarium.common.security.ISecuredValue<java.lang.String> password)
      Read a PKCS12 file as key store
      java.security.KeyStore readPKCS12KeyStore​(java.lang.String fileName, com.github.toolarium.common.security.ISecuredValue<java.lang.String> password)
      Read a PKCS12 file as key store
      java.security.KeyStore readPKCS12KeyStore​(java.lang.String fileName, java.lang.String provider, com.github.toolarium.common.security.ISecuredValue<java.lang.String> password)
      Read a PKCS12 file as key store
      java.security.KeyStore writePKCS12KeyStore​(java.lang.String fileName, java.lang.String provider, java.lang.String alias, java.security.PrivateKey privateKey, java.security.cert.Certificate[] certificates, com.github.toolarium.common.security.ISecuredValue<java.lang.String> password)
      Writes a PKCS12 file as key store
      java.security.KeyStore writePKCS12KeyStore​(java.lang.String fileName, java.lang.String alias, java.security.PrivateKey privateKey, java.security.cert.Certificate[] certificates, com.github.toolarium.common.security.ISecuredValue<java.lang.String> password)
      Writes a PKCS12 file as key store
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Method Detail

      • getInstance

        public static KeyStoreUtil getInstance()
        Get the instance
        Returns:
        the instance
      • createKeyStore

        public java.security.KeyStore createKeyStore​(java.lang.String password)
                                              throws java.security.GeneralSecurityException,
                                                     java.io.IOException
        Create a new keystore
        Parameters:
        password - the password or null
        Returns:
        the new keystore
        Throws:
        java.io.IOException - in case of a file read error
        java.security.GeneralSecurityException - in case of error
      • createKeyStore

        public java.security.KeyStore createKeyStore​(java.lang.String fileName,
                                                     java.lang.String password)
                                              throws java.security.GeneralSecurityException,
                                                     java.io.IOException
        Create a new keystore
        Parameters:
        fileName - the filename
        password - the password or null
        Returns:
        the new keystore
        Throws:
        java.io.IOException - in case of a file read error
        java.security.GeneralSecurityException - in case of error
      • readPKCS12KeyStore

        public java.security.KeyStore readPKCS12KeyStore​(java.lang.String fileName,
                                                         com.github.toolarium.common.security.ISecuredValue<java.lang.String> password)
                                                  throws java.security.GeneralSecurityException,
                                                         java.io.IOException
        Read a PKCS12 file as key store
        Parameters:
        fileName - the file to read
        password - the password or null
        Returns:
        the key pairs
        Throws:
        java.io.IOException - in case of a file read error
        java.security.GeneralSecurityException - in case of error
      • readPKCS12KeyStore

        public java.security.KeyStore readPKCS12KeyStore​(java.lang.String fileName,
                                                         java.lang.String provider,
                                                         com.github.toolarium.common.security.ISecuredValue<java.lang.String> password)
                                                  throws java.security.GeneralSecurityException,
                                                         java.io.IOException
        Read a PKCS12 file as key store
        Parameters:
        fileName - the file to read
        provider - the provider or null
        password - the password or null
        Returns:
        the key pairs
        Throws:
        java.io.IOException - in case of a file read error
        java.security.GeneralSecurityException - in case of error
      • readKeyStore

        public java.security.KeyStore readKeyStore​(java.lang.String fileName,
                                                   java.lang.String type,
                                                   java.lang.String provider,
                                                   com.github.toolarium.common.security.ISecuredValue<java.lang.String> password)
                                            throws java.security.GeneralSecurityException,
                                                   java.io.IOException
        Read a file as key store
        Parameters:
        fileName - the file to read
        type - the key store type
        provider - the provider or null
        password - the password or null
        Returns:
        the key pairs
        Throws:
        java.io.IOException - in case of a file read error
        java.security.GeneralSecurityException - in case of error
      • readPKCS12KeyPair

        public CertificateStore readPKCS12KeyPair​(java.lang.String fileName,
                                                  java.lang.String provider,
                                                  java.lang.String alias,
                                                  com.github.toolarium.common.security.ISecuredValue<java.lang.String> password)
                                           throws java.security.GeneralSecurityException,
                                                  java.io.IOException
        Read a PKCS12 file as key store
        Parameters:
        fileName - the file to read
        provider - the provider or null
        alias - the alias in the PKCS12 file
        password - the password or null
        Returns:
        the certificate store
        Throws:
        java.security.GeneralSecurityException - in case of error
        java.io.IOException - in case of error
      • writePKCS12KeyStore

        public java.security.KeyStore writePKCS12KeyStore​(java.lang.String fileName,
                                                          java.lang.String alias,
                                                          java.security.PrivateKey privateKey,
                                                          java.security.cert.Certificate[] certificates,
                                                          com.github.toolarium.common.security.ISecuredValue<java.lang.String> password)
                                                   throws java.security.GeneralSecurityException,
                                                          java.io.IOException
        Writes a PKCS12 file as key store
        Parameters:
        fileName - the file to read
        alias - the alias in the PKCS12 file or null
        privateKey - the private key
        certificates - the certificate chain
        password - the password or null
        Returns:
        the written key store
        Throws:
        java.security.GeneralSecurityException - in case of error
        java.io.IOException - in case of error
      • writePKCS12KeyStore

        public java.security.KeyStore writePKCS12KeyStore​(java.lang.String fileName,
                                                          java.lang.String provider,
                                                          java.lang.String alias,
                                                          java.security.PrivateKey privateKey,
                                                          java.security.cert.Certificate[] certificates,
                                                          com.github.toolarium.common.security.ISecuredValue<java.lang.String> password)
                                                   throws java.security.GeneralSecurityException,
                                                          java.io.IOException
        Writes a PKCS12 file as key store
        Parameters:
        fileName - the file to read
        provider - the provider or null
        alias - the alias in the PKCS12 file or null
        privateKey - the private key
        certificates - the certificate chain
        password - the password or null
        Returns:
        the written key store
        Throws:
        java.security.GeneralSecurityException - in case of error
        java.io.IOException - in case of error
      • createPKCS12KeyStore

        public java.security.KeyStore createPKCS12KeyStore​(java.lang.String provider,
                                                           java.lang.String alias,
                                                           java.security.PrivateKey privateKey,
                                                           java.security.cert.Certificate[] certificates,
                                                           com.github.toolarium.common.security.ISecuredValue<java.lang.String> password)
                                                    throws java.security.GeneralSecurityException,
                                                           java.io.IOException
        Create a PKCS12 key store
        Parameters:
        provider - the provider or null
        alias - the alias in the PKCS12 file or null
        privateKey - the private key
        certificates - the certificate chain
        password - the password or null
        Returns:
        the written key store
        Throws:
        java.security.GeneralSecurityException - in case of error
        java.io.IOException - in case of error
      • getDefaultX509TrustManager

        public javax.net.ssl.X509TrustManager getDefaultX509TrustManager()
                                                                  throws java.security.GeneralSecurityException
        Get default TrustManager.
        Returns:
        the default trust manager or null
        Throws:
        java.security.GeneralSecurityException - in case of error
      • getDefaultTrustManager

        public javax.net.ssl.TrustManager[] getDefaultTrustManager()
                                                            throws java.security.GeneralSecurityException
        Get default TrustManager.
        Returns:
        the default trust managers
        Throws:
        java.security.GeneralSecurityException - in case of error
      • getDefaultTrustKeyStore

        public java.security.KeyStore getDefaultTrustKeyStore()
                                                       throws java.security.GeneralSecurityException,
                                                              java.io.IOException
        Get default trust keystore
        Returns:
        the trust keystore
        Throws:
        java.security.GeneralSecurityException - in case of error
        java.io.IOException - In case of an I/O error
      • addCertificateToTrustKeystore

        public java.security.KeyStore addCertificateToTrustKeystore​(java.lang.String alias,
                                                                    java.security.cert.X509Certificate certificate)
                                                             throws java.security.GeneralSecurityException,
                                                                    java.io.IOException
        Add a certificate to the default trust keystore
        Parameters:
        alias - the alias
        certificate - the certificate
        Returns:
        the keystore
        Throws:
        java.security.GeneralSecurityException - In case of general security exception
        java.io.IOException - In case of not accessable trust keystore
      • addCertificateToTrustKeystore

        public java.security.KeyStore addCertificateToTrustKeystore​(java.lang.String alias,
                                                                    java.security.cert.X509Certificate[] certificateChain)
                                                             throws java.security.GeneralSecurityException,
                                                                    java.io.IOException
        Add a certificate chain to the default trust keystore
        Parameters:
        alias - the alias
        certificateChain - the certificate chain
        Returns:
        the keystore
        Throws:
        java.security.GeneralSecurityException - In case of general security exception
        java.io.IOException - In case of not accessable trust keystore
      • addCertificateToKeystore

        public java.security.KeyStore addCertificateToKeystore​(java.security.KeyStore keyStore,
                                                               java.lang.String inputAlias,
                                                               java.security.cert.X509Certificate[] certificateChain)
                                                        throws java.security.GeneralSecurityException,
                                                               java.io.IOException
        Add a certificate chain to the keystore
        Parameters:
        keyStore - the key store
        inputAlias - the alias
        certificateChain - the certificate chain
        Returns:
        the keystore
        Throws:
        java.security.GeneralSecurityException - In case of general security exception
        java.io.IOException - In case of not accessable trust keystore
      • getTrustAllCertificateManager

        public javax.net.ssl.TrustManager[] getTrustAllCertificateManager()
        Get a TrustManager which trust all certificates
        Returns:
        TrustManager which trust all certificates