Details
Description
Some of the existing appenders write log events to sophisticated systems which support encrypting said data at rest and in transit (e.g., storing events in an encrypted SQL database using a TLS connection, writing data to an encrypted filesystem or disk, etc.) However, not every system supported in Log4j provides a feature or ability to encrypt and decrypt data natively. There are a small collection of ad hoc cryptographic operations in Log4j (e.g., SslConfiguration, KeyStoreConfiguration, SecretKeyProvider, etc.) which should be refactored and extended to allow for more flexibility in key management and message encryption/decryption. This will allow appenders and receivers that wish to support encryption to do so much more easily. This should also allow for more sophisticated use of cryptography such as adding message digests or authentication tags to log messages to help prevent tampering and add authenticity.
Related resources: