Package org.forgerock.json.jose.jwe
Enum JweAlgorithmType
- java.lang.Object
-
- java.lang.Enum<JweAlgorithmType>
-
- org.forgerock.json.jose.jwe.JweAlgorithmType
-
- All Implemented Interfaces:
Serializable
,Comparable<JweAlgorithmType>
public enum JweAlgorithmType extends Enum<JweAlgorithmType>
An Enum of the possible types of JWE algorithms that can be used to encrypt a JWT.- Since:
- 2.0.0
- See Also:
JweAlgorithm
-
-
Enum Constant Summary
Enum Constants Enum Constant Description AES_KEYWRAP
AES KeyWrap.DIRECT
Direct symmetric encryption.ECDH_ES
Elliptic Curve Diffie-Hellman (ECDH) key agreement in Ephemeral-Static (ES) configuration.RSA
RSA encryption algorithm.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description Purpose<? extends CryptoKey>
getDecryptionPurpose(String label)
Returns aPurpose
that can be used to retrieve keys that are suitable for decryption with this type of JWE algorithm.Purpose<? extends CryptoKey>
getEncryptionPurpose(String label)
Returns aPurpose
that can be used to retrieve keys that are suitable for encryption with this type of JWE algorithm.boolean
isAuthenticated()
Indicates whether the algorithm type provides assurance of the originator of an encrypted JWT (sender authentication).boolean
isSymmetric()
Indicates whether the algorithm type uses the same key for both encryption and decryption operations (symmetric encryption).String
toString()
Turns the JweAlgorithmType constant into a JSON value string.static JweAlgorithmType
valueOf(String name)
Returns the enum constant of this type with the specified name.static JweAlgorithmType[]
values()
Returns an array containing the constants of this enum type, in the order they are declared.
-
-
-
Enum Constant Detail
-
RSA
public static final JweAlgorithmType RSA
RSA encryption algorithm.
-
DIRECT
public static final JweAlgorithmType DIRECT
Direct symmetric encryption.
-
AES_KEYWRAP
public static final JweAlgorithmType AES_KEYWRAP
AES KeyWrap.
-
ECDH_ES
public static final JweAlgorithmType ECDH_ES
Elliptic Curve Diffie-Hellman (ECDH) key agreement in Ephemeral-Static (ES) configuration.
-
-
Method Detail
-
values
public static JweAlgorithmType[] 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 (JweAlgorithmType c : JweAlgorithmType.values()) System.out.println(c);
- Returns:
- an array containing the constants of this enum type, in the order they are declared
-
valueOf
public static JweAlgorithmType 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 nameNullPointerException
- if the argument is null
-
isSymmetric
public boolean isSymmetric()
Indicates whether the algorithm type uses the same key for both encryption and decryption operations (symmetric encryption). Otherwise, a public key is used for encryption and a corresponding private key for decryption.- Returns:
true
if the algorithm is symmetric, orfalse
if it is a public key algorithm.
-
isAuthenticated
public boolean isAuthenticated()
Indicates whether the algorithm type provides assurance of the originator of an encrypted JWT (sender authentication). If the algorithm is unauthenticated then it should be used in combination with a JWS signature scheme if you need to ensure that JWTs can only be produced by trusted sources.- Returns:
true
if the encryption algorithm provides sender authentication as well as confidentiality.
-
toString
public String toString()
Turns the JweAlgorithmType constant into a JSON value string.- Overrides:
toString
in classEnum<JweAlgorithmType>
- Returns:
-
getEncryptionPurpose
public Purpose<? extends CryptoKey> getEncryptionPurpose(String label)
Returns aPurpose
that can be used to retrieve keys that are suitable for encryption with this type of JWE algorithm.- Parameters:
label
- the purpose label.- Returns:
- a purpose with the given label and an appropriate key type.
-
getDecryptionPurpose
public Purpose<? extends CryptoKey> getDecryptionPurpose(String label)
Returns aPurpose
that can be used to retrieve keys that are suitable for decryption with this type of JWE algorithm.- Parameters:
label
- the purpose label.- Returns:
- a purpose with the given label and an appropriate key type.
-
-