-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Closed
Labels
type: enhancementA general enhancementA general enhancement
Milestone
Description
This issue aims toward support for creating a MongoJsonSchema
containing encrypted fields for a given type based on mapping metadata. Currently encrypted fields can only be defined manually via the MongoJsonSchemaBuilder
.
MongoJsonSchema.builder()
.properties(
encrypted(string("ssn"))
.algorithm("AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic")
.keyId("...")
)
An @Encrypted
annotation should allow to derive required encryptMetadata
and encrypt
properties within a given (mapping)context.
@Document
@Encrypted(keyId = "...")
static class Patient {
// ...
@Encrypted(algorithm = "AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic")
private Integer ssn;
}
MongoJsonSchemaCreator schemaCreator = MongoJsonSchemaCreator.create(mappingContext);
MongoJsonSchema patientSchema = schemaCreator
.filter(MongoJsonSchemaCreator.encryptedOnly())
.createSchemaFor(Patient.class);
jagadeeshkoka
Metadata
Metadata
Assignees
Labels
type: enhancementA general enhancementA general enhancement