Class JWSAlgorithm

  • All Implemented Interfaces:
    Serializable

    @Immutable
    public final class JWSAlgorithm
    extends Algorithm
    JSON Web Signature (JWS) algorithm name, represents the alg header parameter in JWS objects. Also used to represent integrity algorithm (ia) header parameters in JWE objects. This class is immutable.

    Includes constants for the following standard JWS algorithm names:

    Additional JWS algorithm names can be defined using the constructors.

    Version:
    2018-03-28
    Author:
    Vladimir Dzhuvinov, Aleksei Doroganov
    See Also:
    Serialized Form
    • Field Detail

      • HS256

        public static final JWSAlgorithm HS256
        HMAC using SHA-256 hash algorithm (required).
      • HS384

        public static final JWSAlgorithm HS384
        HMAC using SHA-384 hash algorithm (optional).
      • HS512

        public static final JWSAlgorithm HS512
        HMAC using SHA-512 hash algorithm (optional).
      • RS256

        public static final JWSAlgorithm RS256
        RSASSA-PKCS-v1_5 using SHA-256 hash algorithm (recommended).
      • RS384

        public static final JWSAlgorithm RS384
        RSASSA-PKCS-v1_5 using SHA-384 hash algorithm (optional).
      • RS512

        public static final JWSAlgorithm RS512
        RSASSA-PKCS-v1_5 using SHA-512 hash algorithm (optional).
      • ES256

        public static final JWSAlgorithm ES256
        ECDSA using P-256 (secp256r1) curve and SHA-256 hash algorithm (recommended).
      • ES256K

        public static final JWSAlgorithm ES256K
        ECDSA using P-256K (secp256k1) curve and SHA-256 hash algorithm (optional).
      • ES384

        public static final JWSAlgorithm ES384
        ECDSA using P-384 curve and SHA-384 hash algorithm (optional).
      • ES512

        public static final JWSAlgorithm ES512
        ECDSA using P-521 curve and SHA-512 hash algorithm (optional).
      • PS256

        public static final JWSAlgorithm PS256
        RSASSA-PSS using SHA-256 hash algorithm and MGF1 mask generation function with SHA-256 (optional).
      • PS384

        public static final JWSAlgorithm PS384
        RSASSA-PSS using SHA-384 hash algorithm and MGF1 mask generation function with SHA-384 (optional).
      • PS512

        public static final JWSAlgorithm PS512
        RSASSA-PSS using SHA-512 hash algorithm and MGF1 mask generation function with SHA-512 (optional).
      • EdDSA

        public static final JWSAlgorithm EdDSA
        EdDSA signature algorithms (optional).
    • Constructor Detail

      • JWSAlgorithm

        public JWSAlgorithm​(String name,
                            Requirement req)
        Creates a new JSON Web Signature (JWS) algorithm name.
        Parameters:
        name - The algorithm name. Must not be null.
        req - The implementation requirement, null if not known.
      • JWSAlgorithm

        public JWSAlgorithm​(String name)
        Creates a new JSON Web Signature (JWS) algorithm name.
        Parameters:
        name - The algorithm name. Must not be null.
    • Method Detail

      • parse

        public static JWSAlgorithm parse​(String s)
        Parses a JWS algorithm from the specified string.
        Parameters:
        s - The string to parse. Must not be null.
        Returns:
        The JWS algorithm (matching standard algorithm constant, else a newly created algorithm).