@ThreadSafe public class ECDHEncrypter extends Object implements JWEEncrypter
JWE objects
. 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 curves:
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<ECKey.Curve> |
SUPPORTED_ELLIPTIC_CURVES
The supported EC JWK curves 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 |
---|
ECDHEncrypter(ECKey ecJWK)
Creates a new Elliptic Curve Diffie-Hellman encrypter.
|
ECDHEncrypter(ECPublicKey publicKey)
Creates a new Elliptic Curve Diffie-Hellman encrypter.
|
Modifier and Type | Method and Description |
---|---|
JWECryptoParts |
encrypt(JWEHeader header,
byte[] clearText)
Encrypts the specified clear text of a
JWE object . |
protected com.nimbusds.jose.crypto.ConcatKDF |
getConcatKDF()
Returns the Concatenation Key Derivation Function (KDF).
|
ECKey.Curve |
getCurve()
Returns the elliptic curve of the key (JWK designation).
|
JWEJCAContext |
getJCAContext()
Returns the Java Cryptography Architecture (JCA) context.
|
ECPublicKey |
getPublicKey()
Returns the public EC key.
|
Set<ECKey.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, wait
supportedEncryptionMethods, supportedJWEAlgorithms
getJCAContext
public static final Set<JWEAlgorithm> SUPPORTED_ALGORITHMS
public static final Set<EncryptionMethod> SUPPORTED_ENCRYPTION_METHODS
public static final Set<ECKey.Curve> SUPPORTED_ELLIPTIC_CURVES
public ECDHEncrypter(ECPublicKey publicKey) throws JOSEException
publicKey
- The public EC key. Must not be null
.JOSEException
- If the elliptic curve is not supported.public ECDHEncrypter(ECKey ecJWK) throws JOSEException
ecJWK
- The EC JSON Web Key (JWK). Must not be null
.JOSEException
- If the elliptic curve is not supported.public ECPublicKey getPublicKey()
public JWECryptoParts encrypt(JWEHeader header, byte[] clearText) throws JOSEException
JWEEncrypter
JWE object
.encrypt
in interface JWEEncrypter
header
- 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 Set<ECKey.Curve> supportedEllipticCurves()
crv
EC JWK parameter.public ECKey.Curve getCurve()
public Set<JWEAlgorithm> supportedJWEAlgorithms()
JWEProvider
alg
JWE header parameter.supportedJWEAlgorithms
in interface JWEProvider
public Set<EncryptionMethod> supportedEncryptionMethods()
JWEProvider
enc
JWE header parameter.supportedEncryptionMethods
in interface JWEProvider
public JWEJCAContext getJCAContext()
JCAAware
getJCAContext
in interface JCAAware<JWEJCAContext>
null
.Copyright © 2016 Connect2id Ltd.. All rights reserved.