Extension point for creating a GdprEncryption by only providing the KeyManagement facilities.
Extension point for creating a GdprEncryption by only providing the KeyManagement facilities.
This uses AES/GCM/NoPadding with an initialization vector created from a SecureRandom.
Implementations must be thread-safe.
Extension point for plugging in encryption for GDPR.
Extension point for plugging in encryption for GDPR. If you only want to provide key management then instead extend AbstractGdprEncryption.
Implementations must be thread-safe.
Manages keys for GDPR encryption.
Manages keys for GDPR encryption. Should produce AES SecretKeys.
Implementations must be thread-safe.
Helper to serialize and deserialize WithDataSubjectId inside other serializers.
Helper to serialize and deserialize WithDataSubjectId inside other serializers. Useful when different parts of the event or snapshot are associated with different subjects.