Package org.jose4j.jwe
Class AesGcmKeyEncryptionAlgorithm
java.lang.Object
org.jose4j.jwa.AlgorithmInfo
org.jose4j.jwe.AesGcmKeyEncryptionAlgorithm
- All Implemented Interfaces:
Algorithm,KeyManagementAlgorithm
- Direct Known Subclasses:
AesGcmKeyEncryptionAlgorithm.Aes128Gcm,AesGcmKeyEncryptionAlgorithm.Aes192Gcm,AesGcmKeyEncryptionAlgorithm.Aes256Gcm
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classstatic classstatic class -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final intprivate intprivate SimpleAeadCipherprivate static final intFields inherited from class org.jose4j.jwa.AlgorithmInfo
log -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanmanageForDecrypt(CryptoPrimitive cryptoPrimitive, byte[] encryptedKey, ContentEncryptionKeyDescriptor cekDesc, Headers headers, ProviderContext providerContext) manageForEncrypt(Key managementKey, ContentEncryptionKeyDescriptor cekDesc, Headers headers, byte[] cekOverride, ProviderContext providerContext) prepareForDecrypt(Key managementKey, Headers headers, ProviderContext providerContext) voidvalidateDecryptionKey(Key managementKey, ContentEncryptionAlgorithm contentEncryptionAlg) voidvalidateEncryptionKey(Key managementKey, ContentEncryptionAlgorithm contentEncryptionAlg) (package private) voidvalidateKey(Key managementKey) 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
-
TAG_BYTE_LENGTH
private static final int TAG_BYTE_LENGTH- See Also:
-
IV_BYTE_LENGTH
private static final int IV_BYTE_LENGTH- See Also:
-
simpleAeadCipher
-
keyByteLength
private int keyByteLength
-
-
Constructor Details
-
AesGcmKeyEncryptionAlgorithm
-
-
Method Details
-
manageForEncrypt
public ContentEncryptionKeys manageForEncrypt(Key managementKey, ContentEncryptionKeyDescriptor cekDesc, Headers headers, byte[] cekOverride, ProviderContext providerContext) throws JoseException - Specified by:
manageForEncryptin interfaceKeyManagementAlgorithm- 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
-
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
-
validateKey
- Throws:
InvalidKeyException
-
isAvailable
public boolean isAvailable()- Specified by:
isAvailablein interfaceAlgorithm
-