Class CertificateUtilities


  • public class CertificateUtilities
    extends java.lang.Object
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.String IGN_TRUSTSTORE_TYPE  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static java.security.KeyStore getLoadedKeyStore​(java.lang.String javaHome)
      Returns a KeyStore that is loaded from the supplied java home.
      static java.lang.String getSha256Fingerprint​(java.security.cert.X509Certificate certificate)
      Returns the SHA-256 fingerprint of the certificate.
      static javax.net.ssl.TrustManager[] getTrustManagers()  
      static void injectDefaultSslContext()
      Creates an SSLContext which is backed by a TrustManagerFactory whose Keystore contains the contents of the default keystore on disk as well as the certificates in the getCertificatesDirectory() and sets that SSLContext as the default.
      static java.util.List<java.security.cert.X509Certificate> readPemBundleCertificates​(java.io.File pemBundle)
      Reads all the valid certificates which exist in the provided PEM bundle file.
      • Methods inherited from class java.lang.Object

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

      • IGN_TRUSTSTORE_TYPE

        public static final java.lang.String IGN_TRUSTSTORE_TYPE
    • Method Detail

      • readPemBundleCertificates

        public static java.util.List<java.security.cert.X509Certificate> readPemBundleCertificates​(java.io.File pemBundle)
        Reads all the valid certificates which exist in the provided PEM bundle file. If the file is null or doesn't exist an empty list is returned.
      • getSha256Fingerprint

        public static java.lang.String getSha256Fingerprint​(java.security.cert.X509Certificate certificate)
                                                     throws java.lang.Exception
        Returns the SHA-256 fingerprint of the certificate.
        Throws:
        java.lang.Exception
      • injectDefaultSslContext

        public static void injectDefaultSslContext()
                                            throws java.security.KeyStoreException,
                                                   java.security.NoSuchAlgorithmException,
                                                   java.security.KeyManagementException,
                                                   CertificateUtilities.TrustStoreTypeException
        Creates an SSLContext which is backed by a TrustManagerFactory whose Keystore contains the contents of the default keystore on disk as well as the certificates in the getCertificatesDirectory() and sets that SSLContext as the default.
        Throws:
        java.security.KeyStoreException
        java.security.NoSuchAlgorithmException
        java.security.KeyManagementException
        CertificateUtilities.TrustStoreTypeException
      • getLoadedKeyStore

        public static java.security.KeyStore getLoadedKeyStore​(java.lang.String javaHome)
        Returns a KeyStore that is loaded from the supplied java home. May be null if there was an issue loading the cacerts or default trust file file. If it has been previously loaded the existing KEY_STORE is returned.

        The default trust store is retrieved via getDefaultTrustStore(String)

        Parameters:
        javaHome - The path to java home. This is usually just the System Property 'java.home'. Must not be null.