We’re in the process of obtaining our commercial license and have a question regarding identification of encrypted SQLite databases. We have an architecture where plugins can be developed to both identify and decide how certain kinds of files are ingested within a processing engine.
We have a proprietary SQLite file format (non-encrypted right now) and have relied on the well-defined database header to handle the identification. I should mention that we set a custom application id to separate this special/proprietary DB from any ordinary SQLite database. We’re already aware that once we go with SQLCipher, that header can no longer be used since it’s fully encrypted.
I know the database header info can be accessed via PRAGMA queries; however, this whole design requires a quick method to identify such database files without having to connecting, query, etc. Is it possible to prevent SQLCipher from encrypting the header? Or can we identify these database files in some other way? Be aware that file extensions are considered untrustworthy in our business domain.