Enum JwsAlgorithm

    • Enum Constant Detail

      • NONE

        @Deprecated
        public static final JwsAlgorithm NONE
        Deprecated.
        This algorithm is inherently insecure and should not be used.
        No digital signature or MAC value included.
      • HS256

        public static final JwsAlgorithm HS256
        HMAC using SHA-256 hash algorithm.
      • HS384

        public static final JwsAlgorithm HS384
        HMAC using SHA-384 hash algorithm.
      • HS512

        public static final JwsAlgorithm HS512
        HMAC using SHA-512 hash algorithm.
      • RS256

        public static final JwsAlgorithm RS256
        RSA using SHA-256 hash algorithm.
      • RS384

        public static final JwsAlgorithm RS384
        RSA using SHA-384 hash algorithm.
      • RS512

        public static final JwsAlgorithm RS512
        RSA using SHA-512 hash algorithm.
      • ES256

        public static final JwsAlgorithm ES256
        ECDSA using SHA-256 hash algorithm.
      • ES384

        public static final JwsAlgorithm ES384
        ECDSA using SHA-384 hash algorithm.
      • ES512

        public static final JwsAlgorithm ES512
        ECDSA using SHA-512 hash algorithm.
      • PS256

        public static final JwsAlgorithm PS256
        RSA-PSS with SHA-256 hash algorithm.
      • PS384

        public static final JwsAlgorithm PS384
        RSA-PSS with SHA-384 hash algorithm.
      • PS512

        public static final JwsAlgorithm PS512
        RSA-PSS with SHA-512 hash algorithm.
    • Method Detail

      • values

        public static JwsAlgorithm[] 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 (JwsAlgorithm c : JwsAlgorithm.values())
            System.out.println(c);
        
        Returns:
        an array containing the constants of this enum type, in the order they are declared
      • valueOf

        public static JwsAlgorithm 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
      • getAlgorithm

        public String getAlgorithm()
        Description copied from interface: Algorithm
        Gets the actual name of the algorithm that is understood by Java cryptographic operations.
        Specified by:
        getAlgorithm in interface Algorithm
        Returns:
        The name of the algorithm.
      • getJwaAlgorithmName

        public String getJwaAlgorithmName()
        Description copied from interface: Algorithm
        Gets the name of the algorithm as defined in the JWA standard.
        Specified by:
        getJwaAlgorithmName in interface Algorithm
        Returns:
        The name of the algorithm.
      • getMdAlgorithm

        public String getMdAlgorithm()
        Returns the Java-friendly name of the message digest algorithm implementation.
        Returns:
        the Java-friendly name of the message digest algorithm implementation.
        See Also:
        Standard Names
      • getEllipticCurveName

        public String getEllipticCurveName()
        Return the standard name of the elliptic curve definition. Only applicable for ECDSA algorithms.
        Returns:
        the curve name or null if not applicable.
      • getAlgorithmType

        public JwsAlgorithmType getAlgorithmType()
        Gets the JwsAlgorithmType of the JwsAlgorithm.
        Returns:
        The JwsAlgorithmType.
      • getParameterSpec

        public AlgorithmParameterSpec getParameterSpec()
        Gets any parameter spec associated with this algorithm. Can be null if no parameters.
        Returns:
        the parameters required by this algorithm.
      • parseCryptographicAlgorithm

        public static JwsAlgorithm parseCryptographicAlgorithm​(String algorithm)
        Parses the given algorithm string to find the matching Java Cryptographic algorithm name.

        If the given algorithm name does not match the algorithm name of any of the constants, then an IllegalArgumentException will be thrown.

        Parameters:
        algorithm - The Java Cryptographic string algorithm name.
        Returns:
        The matching JwsAlgorithm.
      • parseAlgorithm

        public static JwsAlgorithm parseAlgorithm​(String algorithm)
        Parses the given algorithm string to find the matching JwsAlgorithm enum constant.
        Parameters:
        algorithm - The signing algorithm.
        Returns:
        The JwsAlgorithm enum. If algorithm is null, it returns the algorithm "none".
      • isSymmetric

        public boolean isSymmetric()
        Indicates whether the algorithm is a symmetric (secret key) algorithm like HMAC or a public key algorithm.
        Specified by:
        isSymmetric in interface Algorithm
        Returns:
        true if the algorithm uses a shared secret key for signing and verification or false if it uses distinct private and public keys for these operations.
      • toString

        public String toString()
        Turns the JwsAlgorithm constant into a JSON value string.
        Overrides:
        toString in class Enum<JwsAlgorithm>
        Returns: