Package com.nimbusds.jose
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 thealg
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
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
JWSAlgorithm.Family
JWS algorithm family.
-
Field Summary
Fields Modifier and Type Field Description static JWSAlgorithm
EdDSA
EdDSA signature algorithms (optional).static JWSAlgorithm
ES256
ECDSA using P-256 (secp256r1) curve and SHA-256 hash algorithm (recommended).static JWSAlgorithm
ES256K
ECDSA using P-256K (secp256k1) curve and SHA-256 hash algorithm (optional).static JWSAlgorithm
ES384
ECDSA using P-384 curve and SHA-384 hash algorithm (optional).static JWSAlgorithm
ES512
ECDSA using P-521 curve and SHA-512 hash algorithm (optional).static JWSAlgorithm
HS256
HMAC using SHA-256 hash algorithm (required).static JWSAlgorithm
HS384
HMAC using SHA-384 hash algorithm (optional).static JWSAlgorithm
HS512
HMAC using SHA-512 hash algorithm (optional).static JWSAlgorithm
PS256
RSASSA-PSS using SHA-256 hash algorithm and MGF1 mask generation function with SHA-256 (optional).static JWSAlgorithm
PS384
RSASSA-PSS using SHA-384 hash algorithm and MGF1 mask generation function with SHA-384 (optional).static JWSAlgorithm
PS512
RSASSA-PSS using SHA-512 hash algorithm and MGF1 mask generation function with SHA-512 (optional).static JWSAlgorithm
RS256
RSASSA-PKCS-v1_5 using SHA-256 hash algorithm (recommended).static JWSAlgorithm
RS384
RSASSA-PKCS-v1_5 using SHA-384 hash algorithm (optional).static JWSAlgorithm
RS512
RSASSA-PKCS-v1_5 using SHA-512 hash algorithm (optional).
-
Constructor Summary
Constructors Constructor Description JWSAlgorithm(String name)
Creates a new JSON Web Signature (JWS) algorithm name.JWSAlgorithm(String name, Requirement req)
Creates a new JSON Web Signature (JWS) algorithm name.
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static JWSAlgorithm
parse(String s)
Parses a JWS algorithm from the specified string.-
Methods inherited from class com.nimbusds.jose.Algorithm
equals, getName, getRequirement, hashCode, toJSONString, toString
-
-
-
-
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 benull
.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 benull
.
-
-
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 benull
.- Returns:
- The JWS algorithm (matching standard algorithm constant, else a newly created algorithm).
-
-