Enum KeyStoreFileType

java.lang.Object
java.lang.Enum<KeyStoreFileType>
org.apache.hadoop.hbase.io.crypto.tls.KeyStoreFileType
All Implemented Interfaces:
Serializable, Comparable<KeyStoreFileType>

@Private public enum KeyStoreFileType extends Enum<KeyStoreFileType>
This enum represents the file type of a KeyStore or TrustStore. Currently, JKS (Java keystore), PEM, PKCS12, and BCFKS types are supported.

This file has been copied from the Apache ZooKeeper project.

See Also:
  • Enum Constant Details

  • Field Details

  • Constructor Details

  • Method Details

    • values

      public static KeyStoreFileType[] values()
      Returns an array containing the constants of this enum type, in the order they are declared.
      Returns:
      an array containing the constants of this enum type, in the order they are declared
    • valueOf

      public static KeyStoreFileType valueOf(String name)
      Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
      Parameters:
      name - the name of the enum constant to be returned.
      Returns:
      the enum constant with the specified name
      Throws:
      IllegalArgumentException - if this enum type has no constant with the specified name
      NullPointerException - if the argument is null
    • getPropertyValue

      The property string that specifies that a key store or trust store should use this store file type.
    • getDefaultFileExtension

      The file extension that is associated with this file type.
    • fromPropertyValue

      public static KeyStoreFileType fromPropertyValue(String propertyValue)
      Converts a property value to a StoreFileType enum. If the property value is null or an empty string, returns null.
      Parameters:
      propertyValue - the property value.
      Returns:
      the KeyStoreFileType, or null if propertyValue is null or empty.
      Throws:
      IllegalArgumentException - if propertyValue is not one of "JKS", "PEM", "BCFKS", "PKCS12", or empty/null.
    • fromFilename

      public static KeyStoreFileType fromFilename(String filename)
      Detects the type of KeyStore / TrustStore file from the file extension. If the file name ends with ".jks", returns StoreFileType.JKS. If the file name ends with ".pem", returns StoreFileType.PEM. If the file name ends with ".p12", returns StoreFileType.PKCS12. If the file name ends with ".bckfs", returns StoreFileType.BCKFS. Otherwise, throws an IllegalArgumentException.
      Parameters:
      filename - the filename of the key store or trust store file.
      Returns:
      a KeyStoreFileType.
      Throws:
      IllegalArgumentException - if the filename does not end with ".jks", ".pem", "p12" or "bcfks".
    • fromPropertyValueOrFileName

      public static KeyStoreFileType fromPropertyValueOrFileName(String propertyValue, String filename)
      If propertyValue is not null or empty, returns the result of KeyStoreFileType.fromPropertyValue(propertyValue). Else, returns the result of KeyStoreFileType.fromFileName(filename).
      Parameters:
      propertyValue - property value describing the KeyStoreFileType, or null/empty to auto-detect the type from the file name.
      filename - file name of the key store file. The file extension is used to auto-detect the KeyStoreFileType when propertyValue is null or empty.
      Returns:
      a KeyStoreFileType.
      Throws:
      IllegalArgumentException - if propertyValue is not one of "JKS", "PEM", "PKCS12", "BCFKS", or empty/null.
      IllegalArgumentException - if propertyValueis empty or null and the type could not be determined from the file name.