in sdk1/src/main/java/com/amazonaws/services/dynamodbv2/datamodeling/encryption/providers/store/MetaStore.java [336:358]
private Map<String, AttributeValue> createMaterialItem(
final String materialName, final long version) {
final SecretKeySpec encryptionKey = new SecretKeySpec(Utils.getRandom(32), DEFAULT_ENCRYPTION);
final SecretKeySpec integrityKey = new SecretKeySpec(Utils.getRandom(32), DEFAULT_INTEGRITY);
final Map<String, AttributeValue> plaintext = new HashMap<String, AttributeValue>();
plaintext.put(DEFAULT_HASH_KEY, new AttributeValue().withS(materialName));
plaintext.put(DEFAULT_RANGE_KEY, new AttributeValue().withN(Long.toString(version)));
plaintext.put(MATERIAL_TYPE_VERSION, new AttributeValue().withS("0"));
plaintext.put(
ENCRYPTION_KEY_FIELD,
new AttributeValue().withB(ByteBuffer.wrap(encryptionKey.getEncoded())));
plaintext.put(
ENCRYPTION_ALGORITHM_FIELD, new AttributeValue().withS(encryptionKey.getAlgorithm()));
plaintext.put(
INTEGRITY_KEY_FIELD,
new AttributeValue().withB(ByteBuffer.wrap(integrityKey.getEncoded())));
plaintext.put(
INTEGRITY_ALGORITHM_FIELD, new AttributeValue().withS(integrityKey.getAlgorithm()));
plaintext.putAll(extraDataSupplier.getAttributes(materialName, version));
return plaintext;
}