Package org.keycloak.jose.jwe.enc
Class AesGcmEncryptionProvider
java.lang.Object
org.keycloak.jose.jwe.enc.AesGcmEncryptionProvider
- All Implemented Interfaces:
JWEEncryptionProvider
- Direct Known Subclasses:
AesGcmJWEEncryptionProvider
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
deserializeCEK
(JWEKeyStorage keyStorage) This method is supposed to deserialize keys.void
This method usually has 3 outputs: - generated initialization vector - encrypted content - authenticationTag for MAC validation It is supposed to callJWE.setEncryptedContentInfo(byte[], byte[], byte[])
after it's finishedprotected abstract int
byte[]
serializeCEK
(JWEKeyStorage keyStorage) This method requires that decoded CEK keys are present in the keyStorage.decodedCEK map before it's calledvoid
verifyAndDecodeJwe
(JWE jwe) This method is supposed to verify checksums and decrypt content.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.keycloak.jose.jwe.enc.JWEEncryptionProvider
getExpectedCEKLength
-
Constructor Details
-
AesGcmEncryptionProvider
public AesGcmEncryptionProvider()
-
-
Method Details
-
encodeJwe
Description copied from interface:JWEEncryptionProvider
This method usually has 3 outputs: - generated initialization vector - encrypted content - authenticationTag for MAC validation It is supposed to callJWE.setEncryptedContentInfo(byte[], byte[], byte[])
after it's finished- Specified by:
encodeJwe
in interfaceJWEEncryptionProvider
- Throws:
IOException
GeneralSecurityException
Exception
-
verifyAndDecodeJwe
Description copied from interface:JWEEncryptionProvider
This method is supposed to verify checksums and decrypt content. Then it needs to callJWE.content(byte[])
after it's finished- Specified by:
verifyAndDecodeJwe
in interfaceJWEEncryptionProvider
- Throws:
IOException
GeneralSecurityException
Exception
-
serializeCEK
Description copied from interface:JWEEncryptionProvider
This method requires that decoded CEK keys are present in the keyStorage.decodedCEK map before it's called- Specified by:
serializeCEK
in interfaceJWEEncryptionProvider
- Returns:
-
deserializeCEK
Description copied from interface:JWEEncryptionProvider
This method is supposed to deserialize keys. It requires thatJWEKeyStorage.getCekBytes()
is set. After keys are deserialized, this method needs to callJWEKeyStorage.setCEKKey(Key, JWEKeyStorage.KeyUse)
according to all uses, which this encryption algorithm requires.- Specified by:
deserializeCEK
in interfaceJWEEncryptionProvider
-
getExpectedAesKeyLength
protected abstract int getExpectedAesKeyLength()
-