Class S3Keyring
- java.lang.Object
-
- software.amazon.encryption.s3.materials.S3Keyring
-
- All Implemented Interfaces:
Keyring
- Direct Known Subclasses:
AesKeyring,KmsKeyring,RsaKeyring
public abstract class S3Keyring extends Object implements Keyring
This serves as the base class for all the keyrings in the S3 encryption client. Shared functionality is all performed here.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classS3Keyring.Builder<KeyringT extends S3Keyring,BuilderT extends S3Keyring.Builder<KeyringT,BuilderT>>
-
Field Summary
Fields Modifier and Type Field Description static StringKEY_PROVIDER_ID
-
Constructor Summary
Constructors Modifier Constructor Description protectedS3Keyring(S3Keyring.Builder<?,?> builder)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract Map<String,DecryptDataKeyStrategy>decryptStrategies()protected abstract EncryptDataKeyStrategyencryptStrategy()DecryptionMaterialsonDecrypt(DecryptionMaterials materials, List<EncryptedDataKey> encryptedDataKeys)EncryptionMaterialsonEncrypt(EncryptionMaterials materials)
-
-
-
Field Detail
-
KEY_PROVIDER_ID
public static final String KEY_PROVIDER_ID
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
S3Keyring
protected S3Keyring(S3Keyring.Builder<?,?> builder)
-
-
Method Detail
-
onEncrypt
public EncryptionMaterials onEncrypt(EncryptionMaterials materials)
-
encryptStrategy
protected abstract EncryptDataKeyStrategy encryptStrategy()
-
onDecrypt
public DecryptionMaterials onDecrypt(DecryptionMaterials materials, List<EncryptedDataKey> encryptedDataKeys)
-
decryptStrategies
protected abstract Map<String,DecryptDataKeyStrategy> decryptStrategies()
-
-