Class JWSAlgorithm

java.lang.Object
com.nimbusds.jose.Algorithm
com.nimbusds.jose.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:
2024-05-07
Author:
Vladimir Dzhuvinov, Aleksei Doroganov
See Also:
  • Field Details

    • 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).
    • Ed25519

      public static final JWSAlgorithm Ed25519
      EdDSA signature algorithms using Ed25519 curve (optional).
    • Ed448

      public static final JWSAlgorithm Ed448
      EdDSA signature algorithms using Ed448 curve (optional).
  • Constructor Details

    • 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 Details

    • 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).