Package com.nimbusds.jose.crypto.impl
Class PasswordBasedCryptoProvider
- java.lang.Object
-
- com.nimbusds.jose.crypto.impl.PasswordBasedCryptoProvider
-
- All Implemented Interfaces:
JCAAware<JWEJCAContext>
,JOSEProvider
,JWEProvider
- Direct Known Subclasses:
PasswordBasedDecrypter
,PasswordBasedEncrypter
public abstract class PasswordBasedCryptoProvider extends Object
The base abstract class for password-based encrypters and decrypters ofJWE objects
.Supports the following key management algorithms:
Supports the following content encryption algorithms:
- Version:
- 2016-07-26
- Author:
- Vladimir Dzhuvinov
-
-
Field Summary
Fields Modifier and Type Field Description static Set<JWEAlgorithm>
SUPPORTED_ALGORITHMS
The supported JWE algorithms by the password-based crypto provider class.static Set<EncryptionMethod>
SUPPORTED_ENCRYPTION_METHODS
The supported encryption methods by the password-base crypto provider class.
-
Constructor Summary
Constructors Modifier Constructor Description protected
PasswordBasedCryptoProvider(byte[] password)
Creates a new password-based encryption / decryption provider.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description JWEJCAContext
getJCAContext()
Returns the Java Cryptography Architecture (JCA) context.byte[]
getPassword()
Returns the password.String
getPasswordString()
Returns the password.Set<EncryptionMethod>
supportedEncryptionMethods()
Returns the names of the supported encryption methods by the JWE provier.Set<JWEAlgorithm>
supportedJWEAlgorithms()
Returns the names of the supported algorithms by the JWE provider instance.
-
-
-
Field Detail
-
SUPPORTED_ALGORITHMS
public static final Set<JWEAlgorithm> SUPPORTED_ALGORITHMS
The supported JWE algorithms by the password-based crypto provider class.
-
SUPPORTED_ENCRYPTION_METHODS
public static final Set<EncryptionMethod> SUPPORTED_ENCRYPTION_METHODS
The supported encryption methods by the password-base crypto provider class.
-
-
Constructor Detail
-
PasswordBasedCryptoProvider
protected PasswordBasedCryptoProvider(byte[] password)
Creates a new password-based encryption / decryption provider.- Parameters:
password
- The password bytes. Must not be empty ornull
.
-
-
Method Detail
-
getPassword
public byte[] getPassword()
Returns the password.- Returns:
- The password bytes.
-
getPasswordString
public String getPasswordString()
Returns the password.- Returns:
- The password as a UTF-8 encoded string.
-
supportedJWEAlgorithms
public Set<JWEAlgorithm> supportedJWEAlgorithms()
Description copied from interface:JWEProvider
Returns the names of the supported algorithms by the JWE provider instance. These correspond to thealg
JWE header parameter.- Specified by:
supportedJWEAlgorithms
in interfaceJWEProvider
- Returns:
- The supported JWE algorithms, empty set if none.
-
supportedEncryptionMethods
public Set<EncryptionMethod> supportedEncryptionMethods()
Description copied from interface:JWEProvider
Returns the names of the supported encryption methods by the JWE provier. These correspond to theenc
JWE header parameter.- Specified by:
supportedEncryptionMethods
in interfaceJWEProvider
- Returns:
- The supported encryption methods, empty set if none.
-
getJCAContext
public JWEJCAContext getJCAContext()
Description copied from interface:JCAAware
Returns the Java Cryptography Architecture (JCA) context. May be used to set a specific JCA security provider or secure random generator.- Specified by:
getJCAContext
in interfaceJCAAware<JWEJCAContext>
- Returns:
- The JCA context. Not
null
.
-
-