Class TrustStoreIO


  • public class TrustStoreIO
    extends Object
    Utility class for reading and writing certificates files and making trust stores from it.
    Since:
    2018.1
    Author:
    Mikhail Khorkov
    • Field Detail

      • ZERO_HASH

        public static final String ZERO_HASH
    • Method Detail

      • certificateFiles

        @NotNull
        public static File[] certificateFiles​(@NotNull
                                              String certDirectory)
        Gets all files from specified directory.
        Parameters:
        certDirectory - path to directory with certificates files
        Returns:
        files with certificates from specified directory
      • readTrustStoreFromDirectory

        @Nullable
        public static KeyStore readTrustStoreFromDirectory​(@NotNull
                                                           String certDirectory)
        Read files with certificates from specified directory.
        Parameters:
        certDirectory - path to directory with certificates files
        Returns:
        trust store from specified directory or null
      • pemContentFromDirectory

        @NotNull
        public static String pemContentFromDirectory​(@NotNull
                                                     String certDirectory)
        Returns PEM content of certificates from specified directory.
        Parameters:
        certDirectory - path to directory with certificates files
        Returns:
        PEM content of certificates from specified directory
      • hash

        @NotNull
        public static String hash​(@NotNull
                                  TeamCityTrustedSslCertificate[] data)
        Calculate a hash of specified certificates data.
        Parameters:
        data - certificates fro calculate the hash.
        Returns:
        not null hash of specified certificates data.
      • certificatesData

        @NotNull
        public static TeamCityTrustedSslCertificate[] certificatesData​(@NotNull
                                                                       String certDirectory)
        Read files with certificates from specified directory.
        Parameters:
        certDirectory - path to directory with certificates files
        Returns:
        array of read certificates from specified directory
      • writeCertificate

        public static String writeCertificate​(@NotNull
                                              String alias,
                                              @NotNull
                                              byte[] data,
                                              @NotNull
                                              String certDirectory)
        Write certificate to specified directory.
        Parameters:
        alias - name of certificate
        data - certificate data
        certDirectory - directory to write certificate
        Returns:
        null in case of success write; error message otherwise
      • removeCertificate

        public static void removeCertificate​(String alias,
                                             String certDirectory)
        Delete certificate with specified name from specified directory.
        Parameters:
        alias - name of certificate for delete
        certDirectory - directory with the certificate
      • isInvalidCertificate

        public static String isInvalidCertificate​(@NotNull
                                                  byte[] data)
        Check if specified data is an invalid ssl certificate.
        Parameters:
        data - data to check
        Returns:
        String representation of reason why certificate is invalid or null in case of valid data