If the content repository changes from encrypted -> unencrypted or vice-versa on startup, the application should handle the change.
- Unencrypted -> encrypted: Attempt to create an InputStream instance to read the existing content into memory and write them back using EncryptedContentRepositoryOutputStream
- Encrypted -> unencrypted: Attempt to create a CipherInputStream instance to read the existing events into memory and write them back using OutputStream. This depends on the key(s) for the key IDs used still being available via nifi.properties.
This process may be very slow given large existing repositories, so a standalone tool should also be made available to perform this process outside of the running app.