Package com.northconcepts.datapipeline.security
package com.northconcepts.datapipeline.security
Encrypt and decrypt data.
-
ClassDescriptionA
DecryptingReaderfor fields written by anAsymmetricEncryptingReader; it recovers the symmetric key from the first value it decrypts, using the private key, and uses it for all values.AnEncryptingReaderthat encrypts fields with a symmetric key and appends that key, encrypted with a public key, to every value after a-; read the values back with anAsymmetricDecryptingReader.ACredentialsResolverdecorator that caches its delegate's credentials, re-fetching when: the cached credentials report expiry withinCachingCredentialsResolver.getExpirySkewMilliseconds()(seeCredentials.isExpired(long)), the optional time-to-live has elapsed, orCachingCredentialsResolver.refresh()is called. Gives rotation with backpressure — remote secret stores are only called when needed.An immutable bundle of resolved secret values keyed by name, with an optional expiry.AssemblesCredentialsfrom key-value pairs and an optional expiry; seeCredentials.builder().ResolvesCredentialson demand.A thread-safe mapping of logical ids toCredentialsResolvers, enabling "reference, not secret" late binding: serialized pipelines and sources/sinks carry only a resolver id and are re-wired to the live resolver on load.Base class for proxy readers that decrypt the selected fields of each record in place, or every field when none are selected.Base class for proxy readers that encrypt the selected fields of each record in place, or every field when none are selected.ACredentialsResolverthat reads credential values from environment variables at each resolve.ACredentialsResolverthat reads credential values from a Java properties file, re-reading it whenever the file's last-modified time changes.ACredentialsResolverthat always returns the same fixedCredentials.ACredentialsResolverthat delegates each resolve to aSupplier.ADecryptingReaderthat decrypts fields written by aSymmetricEncryptingReader, restoring each field's original type and value.AnEncryptingReaderthat encrypts fields with a symmetric key, storing each as Base64 text from which aSymmetricDecryptingReaderrestores the original type and value.ACredentialsResolverthat reads credential values from JVM system properties at each resolve.