Summary
I’d like to load the latest Hypatia database into the app and also understand how to generate my own database from hash lists (e.g., ClamAV hdb or CSV).
I couldn’t find a single end-to-end document covering: where to get the latest database, which files are required, how signature verification works, and how to build/sign a custom database.
What I tried
Downloaded the database files (md5/sha1/sha256 Bloom bins and .sig files, plus gpg.key).
Placed them under the app’s private directory: /data/user/0//files/signatures (using adb push to /sdcard then adb shell run-as to copy into place).
On load, the app fails GPG verification. Log excerpt:
- readPublicKey: No match found, have key: 5298C0C0C3E73288
- readPublicKey: No match found, have key: 1A0BDAEA047BCBC8
- java.lang.IllegalArgumentException: Can't find encryption key in key ring.
I noticed SIGNING_KEY_DEFAULT = BADFCABDDBF5B694 in the code. I assume this is the default signing key ID, but I’m not sure where to obtain the corresponding armored public key and its full fingerprint.
Summary
I’d like to load the latest Hypatia database into the app and also understand how to generate my own database from hash lists (e.g., ClamAV hdb or CSV).
I couldn’t find a single end-to-end document covering: where to get the latest database, which files are required, how signature verification works, and how to build/sign a custom database.
What I tried
Downloaded the database files (md5/sha1/sha256 Bloom bins and .sig files, plus gpg.key).
Placed them under the app’s private directory: /data/user/0//files/signatures (using adb push to /sdcard then adb shell run-as to copy into place).
On load, the app fails GPG verification. Log excerpt:
- readPublicKey: No match found, have key: 5298C0C0C3E73288
- readPublicKey: No match found, have key: 1A0BDAEA047BCBC8
- java.lang.IllegalArgumentException: Can't find encryption key in key ring.
I noticed SIGNING_KEY_DEFAULT = BADFCABDDBF5B694 in the code. I assume this is the default signing key ID, but I’m not sure where to obtain the corresponding armored public key and its full fingerprint.