The core capability of Axon Data Protection is to encrypt and decrypt individual fields of a Java object,
using a key which is determined by the value of another field of the object. Although this capability may have
various different use cases, the main use case foreseen when designing the module was to provide the option to
later effectively delete the contents of the encrypted fields, by destroying the key used to encrypt them.
As part of the Axon Data Protection distribution, there is an extensive user guide in PDF form explaining how to use the module. This Javadoc provides details on a class-by-class basis, but please review the user guide as a starting point.
| Package | Description |
|---|---|
| io.axoniq.dataprotection.api |
Annotations, exceptions and encryption service objects of the Axon Data Protection Module.
|
| io.axoniq.dataprotection.cryptoengine |
Contains the core
CryptoEngine interface and various implementations. |
| io.axoniq.dataprotection.cryptoengine.jpa |
Contains a JPA-based implementation of
CryptoEngine and some associated
classes. |
| io.axoniq.dataprotection.cryptoengine.vault |
Contains a HashiCorp Vault backed implementation of
CryptoEngine and associated
classes. |
| io.axoniq.dataprotection.serialization |
Light-weight version of the serialization functionality in Axon Framework.
|
| io.axoniq.dataprotection.serialization.converters |
Converters between various serialized forms (
String, byte[] etc.). |
| io.axoniq.dataprotection.serialization.json |
Support for serialization to JSON via Jackson.
|
| io.axoniq.dataprotection.serialization.xml |
Support for serialization to XML via XStream.
|