Enum BuiltinCiphers

    • Method Detail

      • values

        public static BuiltinCiphers[] values()
        Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:
        for (BuiltinCiphers c : BuiltinCiphers.values())
            System.out.println(c);
        
        Returns:
        an array containing the constants of this enum type, in the order they are declared
      • valueOf

        public static BuiltinCiphers 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
      • getKeySize

        public int getKeySize()
        Specified by:
        getKeySize in interface KeySizeIndicator
        Returns:
        The number of bits used in the key
      • getIVSize

        public int getIVSize()
        Specified by:
        getIVSize in interface CipherInformation
        Returns:
        Size of the initialization vector (in bytes)
      • getAuthenticationTagSize

        public int getAuthenticationTagSize()
        Specified by:
        getAuthenticationTagSize in interface CipherInformation
        Returns:
        Size of the authentication tag (AT) in bytes or 0 if this cipher does not support authentication
      • getKdfSize

        public int getKdfSize()
        Specified by:
        getKdfSize in interface CipherInformation
        Returns:
        The block size (in bytes) used to derive the secret key for this cipher
      • getCipherBlockSize

        public int getCipherBlockSize()
        Specified by:
        getCipherBlockSize in interface CipherInformation
        Returns:
        Size of block data used by the cipher (in bytes). For stream ciphers this value is (currently) used to indicate some average work buffer size to be used for the automatic re-keying mechanism described in RFC 4253 - Section 9
      • registerExtension

        public static void registerExtension​(CipherFactory extension)
        Registered a NamedFactory to be available besides the built-in ones when parsing configuration
        Parameters:
        extension - The factory to register
        Throws:
        IllegalArgumentException - if factory instance is null, or overrides a built-in one or overrides another registered factory with the same name (case insensitive).
      • getRegisteredExtensions

        public static NavigableSet<CipherFactory> getRegisteredExtensions()
        Returns:
        A SortedSet of the currently registered extensions, sorted according to the factory name (case insensitive)
      • unregisterExtension

        public static NamedFactory<Cipher> unregisterExtension​(String name)
        Unregisters specified extension
        Parameters:
        name - The factory name - ignored if null/empty
        Returns:
        The registered extension - null if not found
      • fromString

        public static BuiltinCiphers fromString​(String s)
        Parameters:
        s - The Enum's name - ignored if null/empty
        Returns:
        The matching BuiltinCiphers whose Enum.name() matches (case insensitive) the provided argument - null if no match
      • fromFactoryName

        public static BuiltinCiphers fromFactoryName​(String name)
        Parameters:
        name - The factory name - ignored if null/empty
        Returns:
        The matching BuiltinCiphers whose factory name matches (case insensitive) the provided name - null if no match
      • parseCiphersList

        public static BuiltinCiphers.ParseResult parseCiphersList​(String ciphers)
        Parameters:
        ciphers - A comma-separated list of ciphers' names - ignored if null/empty
        Returns:
        A BuiltinCiphers.ParseResult containing the successfully parsed factories and the unknown ones. Note: it is up to caller to ensure that the lists do not contain duplicates
      • resolveFactory

        public static CipherFactory resolveFactory​(String name)
        Parameters:
        name - The factory name
        Returns:
        The factory or null if it is neither a built-in one or a registered extension