@ThreadSafe public class X25519Encrypter extends Object implements JWEEncrypter
JWE objects.
Expects a public OctetKeyPair key with "crv" X25519.
See RFC 8037 for more information.
See also ECDHEncrypter for ECDH on other curves.
This class is thread-safe.
Supports the following key management algorithms:
JWEAlgorithm.ECDH_ES
JWEAlgorithm.ECDH_ES_A128KW
JWEAlgorithm.ECDH_ES_A192KW
JWEAlgorithm.ECDH_ES_A256KW
Supports the following elliptic curve:
Curve.X25519 (Curve25519)
Supports the following content encryption algorithms:
| Modifier and Type | Field and Description |
|---|---|
static Set<JWEAlgorithm> |
SUPPORTED_ALGORITHMS
The supported JWE algorithms by the ECDH crypto provider class.
|
static Set<EncryptionMethod> |
SUPPORTED_ENCRYPTION_METHODS
The supported encryption methods by the ECDH crypto provider class.
|
| Constructor and Description |
|---|
X25519Encrypter(OctetKeyPair publicKey)
Creates a new Curve25519 Elliptic Curve Diffie-Hellman encrypter.
|
| Modifier and Type | Method and Description |
|---|---|
protected byte[] |
decryptWithZ(JWEHeader header,
SecretKey Z,
Base64URL encryptedKey,
Base64URL iv,
Base64URL cipherText,
Base64URL authTag)
Decrypts the encrypted JWE parts using the specified shared secret ("Z").
|
JWECryptoParts |
encrypt(JWEHeader header,
byte[] clearText)
Encrypts the specified clear text of a
JWE object. |
protected JWECryptoParts |
encryptWithZ(JWEHeader header,
SecretKey Z,
byte[] clearText)
Encrypts the specified plaintext using the specified shared secret ("Z").
|
protected com.nimbusds.jose.crypto.ConcatKDF |
getConcatKDF()
Returns the Concatenation Key Derivation Function (KDF).
|
Curve |
getCurve()
Returns the elliptic curve of the key (JWK designation).
|
JWEJCAContext |
getJCAContext()
Returns the Java Cryptography Architecture (JCA) context.
|
OctetKeyPair |
getPublicKey()
Returns the public key.
|
Set<Curve> |
supportedEllipticCurves()
Returns the names of the supported elliptic curves.
|
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.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitsupportedEncryptionMethods, supportedJWEAlgorithmsgetJCAContextpublic static final Set<JWEAlgorithm> SUPPORTED_ALGORITHMS
public static final Set<EncryptionMethod> SUPPORTED_ENCRYPTION_METHODS
public X25519Encrypter(OctetKeyPair publicKey) throws JOSEException
publicKey - The public key. Must not be null.JOSEException - If the key subtype is not supported.public Set<Curve> supportedEllipticCurves()
crv EC JWK parameter.public OctetKeyPair getPublicKey()
public JWECryptoParts encrypt(JWEHeader header, byte[] clearText) throws JOSEException
JWEEncrypterJWE object.encrypt in interface JWEEncrypterheader - The JSON Web Encryption (JWE) header. Must specify
a supported JWE algorithm and method. Must not be
null.clearText - The clear text to encrypt. Must not be null.JOSEException - If the JWE algorithm or method is not
supported or if encryption failed for some
other internal reason.protected com.nimbusds.jose.crypto.ConcatKDF getConcatKDF()
public Curve getCurve()
protected JWECryptoParts encryptWithZ(JWEHeader header, SecretKey Z, byte[] clearText) throws JOSEException
JOSEExceptionprotected byte[] decryptWithZ(JWEHeader header, SecretKey Z, Base64URL encryptedKey, Base64URL iv, Base64URL cipherText, Base64URL authTag) throws JOSEException
JOSEExceptionpublic Set<JWEAlgorithm> supportedJWEAlgorithms()
JWEProvideralg JWE header parameter.supportedJWEAlgorithms in interface JWEProviderpublic Set<EncryptionMethod> supportedEncryptionMethods()
JWEProviderenc JWE header parameter.supportedEncryptionMethods in interface JWEProviderpublic JWEJCAContext getJCAContext()
JCAAwaregetJCAContext in interface JCAAware<JWEJCAContext>null.Copyright © 2018 Connect2id Ltd.. All rights reserved.