Package org.jose4j.jwe
Class EcdhKeyAgreementAlgorithm
java.lang.Object
org.jose4j.jwa.AlgorithmInfo
org.jose4j.jwe.EcdhKeyAgreementAlgorithm
- All Implemented Interfaces:
Algorithm,KeyManagementAlgorithm
-
Field Summary
FieldsFields inherited from class org.jose4j.jwa.AlgorithmInfo
log -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate voidcheckCurveAllowed(ECKey receiverKey) private voidcheckPointIsOnCurve(ECPublicKey ephemeralPublicKey, ECPrivateKey privateKey) private KeyAgreementcreateKeyAgreement(PrivateKey privateKey, PublicKey publicKey, ProviderContext providerContext) private byte[]generateEcdhSecret(PrivateKey privateKey, PublicKey publicKey, ProviderContext providerContext) private KeyAgreementgetKeyAgreement(String provider, String javaAlgorithm) booleanprivate byte[]kdf(ContentEncryptionKeyDescriptor cekDesc, Headers headers, byte[] z, ProviderContext providerContext) manageForDecrypt(CryptoPrimitive cryptoPrimitive, byte[] encryptedKey, ContentEncryptionKeyDescriptor cekDesc, Headers headers, ProviderContext providerContext) manageForEncrypt(Key managementKey, ContentEncryptionKeyDescriptor cekDesc, Headers headers, byte[] cekOverride, ProviderContext providerContext) (package private) ContentEncryptionKeysmanageForEncrypt(Key managementKey, ContentEncryptionKeyDescriptor cekDesc, Headers headers, PublicJsonWebKey ephemeralJwk, ProviderContext providerContext) prepareForDecrypt(Key managementKey, Headers headers, ProviderContext providerContext) voidvalidateDecryptionKey(Key managementKey, ContentEncryptionAlgorithm contentEncryptionAlg) voidvalidateEncryptionKey(Key managementKey, ContentEncryptionAlgorithm contentEncryptionAlg) Methods inherited from class org.jose4j.jwa.AlgorithmInfo
getAlgorithmIdentifier, getJavaAlgorithm, getKeyPersuasion, getKeyType, setAlgorithmIdentifier, setJavaAlgorithm, setKeyPersuasion, setKeyType, toStringMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.jose4j.jwa.Algorithm
getAlgorithmIdentifier, getJavaAlgorithm, getKeyPersuasion, getKeyType
-
Field Details
-
algorithmIdHeaderName
String algorithmIdHeaderName
-
-
Constructor Details
-
EcdhKeyAgreementAlgorithm
public EcdhKeyAgreementAlgorithm() -
EcdhKeyAgreementAlgorithm
-
-
Method Details
-
manageForEncrypt
public ContentEncryptionKeys manageForEncrypt(Key managementKey, ContentEncryptionKeyDescriptor cekDesc, Headers headers, byte[] cekOverride, ProviderContext providerContext) throws JoseException - Specified by:
manageForEncryptin interfaceKeyManagementAlgorithm- Throws:
JoseException
-
checkCurveAllowed
- Throws:
InvalidKeyException
-
manageForEncrypt
ContentEncryptionKeys manageForEncrypt(Key managementKey, ContentEncryptionKeyDescriptor cekDesc, Headers headers, PublicJsonWebKey ephemeralJwk, ProviderContext providerContext) throws JoseException - Throws:
JoseException
-
prepareForDecrypt
public CryptoPrimitive prepareForDecrypt(Key managementKey, Headers headers, ProviderContext providerContext) throws JoseException - Specified by:
prepareForDecryptin interfaceKeyManagementAlgorithm- Throws:
JoseException
-
manageForDecrypt
public Key manageForDecrypt(CryptoPrimitive cryptoPrimitive, byte[] encryptedKey, ContentEncryptionKeyDescriptor cekDesc, Headers headers, ProviderContext providerContext) throws JoseException - Specified by:
manageForDecryptin interfaceKeyManagementAlgorithm- Throws:
JoseException
-
checkPointIsOnCurve
private void checkPointIsOnCurve(ECPublicKey ephemeralPublicKey, ECPrivateKey privateKey) throws JoseException - Throws:
JoseException
-
kdf
private byte[] kdf(ContentEncryptionKeyDescriptor cekDesc, Headers headers, byte[] z, ProviderContext providerContext) -
getKeyAgreement
- Throws:
JoseException
-
createKeyAgreement
private KeyAgreement createKeyAgreement(PrivateKey privateKey, PublicKey publicKey, ProviderContext providerContext) throws JoseException - Throws:
JoseException
-
generateEcdhSecret
private byte[] generateEcdhSecret(PrivateKey privateKey, PublicKey publicKey, ProviderContext providerContext) throws JoseException - Throws:
JoseException
-
validateEncryptionKey
public void validateEncryptionKey(Key managementKey, ContentEncryptionAlgorithm contentEncryptionAlg) throws InvalidKeyException - Specified by:
validateEncryptionKeyin interfaceKeyManagementAlgorithm- Throws:
InvalidKeyException
-
validateDecryptionKey
public void validateDecryptionKey(Key managementKey, ContentEncryptionAlgorithm contentEncryptionAlg) throws InvalidKeyException - Specified by:
validateDecryptionKeyin interfaceKeyManagementAlgorithm- Throws:
InvalidKeyException
-
isAvailable
public boolean isAvailable()- Specified by:
isAvailablein interfaceAlgorithm
-