public class DynamoDBEncryptor extends java.lang.Object implements ILegacyDynamoDbEncryptor
| Modifier | Constructor and Description |
|---|---|
protected |
DynamoDBEncryptor(EncryptionMaterialsProvider provider,
java.lang.String descriptionBase) |
| Modifier and Type | Method and Description |
|---|---|
java.util.Map<java.lang.String,java.util.Set<EncryptionFlags>> |
allDecryptionFlagsExcept(java.util.Map<java.lang.String,software.amazon.awssdk.services.dynamodb.model.AttributeValue> itemAttributes,
java.util.Collection<java.lang.String> doNotDecrypt)
Returns the decryption flags for all item attributes except for those explicitly specified to
be excluded.
|
java.util.Map<java.lang.String,java.util.Set<EncryptionFlags>> |
allDecryptionFlagsExcept(java.util.Map<java.lang.String,software.amazon.awssdk.services.dynamodb.model.AttributeValue> itemAttributes,
java.lang.String... doNotDecrypt)
Returns the decryption flags for all item attributes except for those explicitly specified to
be excluded.
|
java.util.Map<java.lang.String,java.util.Set<EncryptionFlags>> |
allEncryptionFlagsExcept(java.util.Map<java.lang.String,software.amazon.awssdk.services.dynamodb.model.AttributeValue> itemAttributes,
java.util.Collection<java.lang.String> doNotEncrypt)
Returns the encryption flags for all item attributes except for those explicitly specified to
be excluded.
|
java.util.Map<java.lang.String,java.util.Set<EncryptionFlags>> |
allEncryptionFlagsExcept(java.util.Map<java.lang.String,software.amazon.awssdk.services.dynamodb.model.AttributeValue> itemAttributes,
java.lang.String... doNotEncrypt)
Returns the encryption flags for all item attributes except for those explicitly specified to
be excluded.
|
java.util.Map<java.lang.String,software.amazon.awssdk.services.dynamodb.model.AttributeValue> |
decryptAllFieldsExcept(java.util.Map<java.lang.String,software.amazon.awssdk.services.dynamodb.model.AttributeValue> itemAttributes,
EncryptionContext context,
java.util.Collection<java.lang.String> doNotDecrypt) |
java.util.Map<java.lang.String,software.amazon.awssdk.services.dynamodb.model.AttributeValue> |
decryptAllFieldsExcept(java.util.Map<java.lang.String,software.amazon.awssdk.services.dynamodb.model.AttributeValue> itemAttributes,
EncryptionContext context,
java.lang.String... doNotDecrypt)
Returns a decrypted version of the provided DynamoDb record.
|
java.util.Map<java.lang.String,software.amazon.awssdk.services.dynamodb.model.AttributeValue> |
decryptRecord(java.util.Map<java.lang.String,software.amazon.awssdk.services.dynamodb.model.AttributeValue> itemAttributes,
java.util.Map<java.lang.String,java.util.Set<EncryptionFlags>> attributeFlags,
EncryptionContext context) |
java.util.Map<java.lang.String,software.amazon.awssdk.services.dynamodb.model.AttributeValue> |
encryptAllFieldsExcept(java.util.Map<java.lang.String,software.amazon.awssdk.services.dynamodb.model.AttributeValue> itemAttributes,
EncryptionContext context,
java.util.Collection<java.lang.String> doNotEncrypt) |
java.util.Map<java.lang.String,software.amazon.awssdk.services.dynamodb.model.AttributeValue> |
encryptAllFieldsExcept(java.util.Map<java.lang.String,software.amazon.awssdk.services.dynamodb.model.AttributeValue> itemAttributes,
EncryptionContext context,
java.lang.String... doNotEncrypt)
Returns an encrypted version of the provided DynamoDb record.
|
java.util.Map<java.lang.String,software.amazon.awssdk.services.dynamodb.model.AttributeValue> |
encryptRecord(java.util.Map<java.lang.String,software.amazon.awssdk.services.dynamodb.model.AttributeValue> itemAttributes,
java.util.Map<java.lang.String,java.util.Set<EncryptionFlags>> attributeFlags,
EncryptionContext context) |
static DynamoDBEncryptor |
getInstance(EncryptionMaterialsProvider provider) |
static DynamoDBEncryptor |
getInstance(EncryptionMaterialsProvider provider,
java.lang.String descriptionbase) |
java.lang.String |
getMaterialDescriptionFieldName()
Get the name of the DynamoDB field used to store metadata used by the
DynamoDBEncryptedMapper.
|
java.lang.String |
getSignatureFieldName()
Get the name of the DynamoDB field used to store the signature.
|
protected DynamoDBEncryptor(EncryptionMaterialsProvider provider, java.lang.String descriptionBase)
public static DynamoDBEncryptor getInstance(EncryptionMaterialsProvider provider, java.lang.String descriptionbase)
public static DynamoDBEncryptor getInstance(EncryptionMaterialsProvider provider)
public java.util.Map<java.lang.String,software.amazon.awssdk.services.dynamodb.model.AttributeValue> decryptAllFieldsExcept(java.util.Map<java.lang.String,software.amazon.awssdk.services.dynamodb.model.AttributeValue> itemAttributes,
EncryptionContext context,
java.lang.String... doNotDecrypt)
throws java.security.GeneralSecurityException
doNotEncrypt are
decrypted.itemAttributes - the DynamoDbRecordcontext - additional information used to successfully select the encryption materials and
decrypt the data. This should include (at least) the tableName and the materialDescription.doNotDecrypt - those fields which should not be encryptedjava.security.SignatureException - if the signature is invalid or cannot be verifiedjava.security.GeneralSecurityExceptionpublic java.util.Map<java.lang.String,software.amazon.awssdk.services.dynamodb.model.AttributeValue> decryptAllFieldsExcept(java.util.Map<java.lang.String,software.amazon.awssdk.services.dynamodb.model.AttributeValue> itemAttributes,
EncryptionContext context,
java.util.Collection<java.lang.String> doNotDecrypt)
throws java.security.GeneralSecurityException
java.security.GeneralSecurityExceptiondecryptAllFieldsExcept(Map, EncryptionContext, String...)public java.util.Map<java.lang.String,java.util.Set<EncryptionFlags>> allDecryptionFlagsExcept(java.util.Map<java.lang.String,software.amazon.awssdk.services.dynamodb.model.AttributeValue> itemAttributes, java.lang.String... doNotDecrypt)
doNotDecrypt - fields to be excludedpublic java.util.Map<java.lang.String,java.util.Set<EncryptionFlags>> allDecryptionFlagsExcept(java.util.Map<java.lang.String,software.amazon.awssdk.services.dynamodb.model.AttributeValue> itemAttributes, java.util.Collection<java.lang.String> doNotDecrypt)
doNotDecrypt - fields to be excludedpublic java.util.Map<java.lang.String,software.amazon.awssdk.services.dynamodb.model.AttributeValue> encryptAllFieldsExcept(java.util.Map<java.lang.String,software.amazon.awssdk.services.dynamodb.model.AttributeValue> itemAttributes,
EncryptionContext context,
java.lang.String... doNotEncrypt)
throws java.security.GeneralSecurityException
doNotEncrypt) are encrypted.itemAttributes - a DynamoDb Recordcontext - additional information used to successfully select the encryption materials and
encrypt the data. This should include (at least) the tableName.doNotEncrypt - those fields which should not be encryptedjava.security.GeneralSecurityExceptionpublic java.util.Map<java.lang.String,software.amazon.awssdk.services.dynamodb.model.AttributeValue> encryptAllFieldsExcept(java.util.Map<java.lang.String,software.amazon.awssdk.services.dynamodb.model.AttributeValue> itemAttributes,
EncryptionContext context,
java.util.Collection<java.lang.String> doNotEncrypt)
throws java.security.GeneralSecurityException
java.security.GeneralSecurityExceptionpublic java.util.Map<java.lang.String,java.util.Set<EncryptionFlags>> allEncryptionFlagsExcept(java.util.Map<java.lang.String,software.amazon.awssdk.services.dynamodb.model.AttributeValue> itemAttributes, java.lang.String... doNotEncrypt)
doNotEncrypt - fields to be excludedpublic java.util.Map<java.lang.String,java.util.Set<EncryptionFlags>> allEncryptionFlagsExcept(java.util.Map<java.lang.String,software.amazon.awssdk.services.dynamodb.model.AttributeValue> itemAttributes, java.util.Collection<java.lang.String> doNotEncrypt)
doNotEncrypt - fields to be excludedpublic java.util.Map<java.lang.String,software.amazon.awssdk.services.dynamodb.model.AttributeValue> decryptRecord(java.util.Map<java.lang.String,software.amazon.awssdk.services.dynamodb.model.AttributeValue> itemAttributes,
java.util.Map<java.lang.String,java.util.Set<EncryptionFlags>> attributeFlags,
EncryptionContext context)
throws java.security.GeneralSecurityException
java.security.GeneralSecurityExceptionpublic java.util.Map<java.lang.String,software.amazon.awssdk.services.dynamodb.model.AttributeValue> encryptRecord(java.util.Map<java.lang.String,software.amazon.awssdk.services.dynamodb.model.AttributeValue> itemAttributes,
java.util.Map<java.lang.String,java.util.Set<EncryptionFlags>> attributeFlags,
EncryptionContext context)
public java.lang.String getSignatureFieldName()
DEFAULT_SIGNATURE_FIELD.public java.lang.String getMaterialDescriptionFieldName()
DEFAULT_METADATA_FIELD.