6 Commits

Author SHA1 Message Date
Christopher Fahlin d0c201dd9f fix(fips): regenerate fipsmodule.cnf for OpenSSL 3.1.2 arm64-v8a
HMAC fingerprint generated on-device via openssl fipsinstall against
the 3.1.2 FIPS provider binary. All 29 KATs passed.
2026-05-09 12:52:08 -07:00
Christopher Fahlin 01e26dd717 feat(openssl): upgrade from 3.0.8 to 3.1.2 (FIPS 140-3 Cert #4985)
- Bump OPENSSL_VERSION default from 3.0.8 to 3.1.2
- Update SHA256 hash for openssl-3.1.2.tar.gz
- Update all compliance checks to validate OpenSSL 3.1.x series
- Update docs: README, install.md, CLAUDE.md, test READMEs
- Previous 3.0.8 had only FIPS 140-2 (Cert #4282); 3.1.2 is the
  first OpenSSL with full FIPS 140-3 validation (Cert #4985,
  valid through March 2030)
2026-05-09 12:38:27 -07:00
Christopher Fahlin 06429cfdb4 fix(fips): add cipher config API, key zeroization, and provider leak guard
- Add fips_configure_cipher() to pin FIPS-approved SQLCipher PRAGMAs
  (HMAC-SHA512, PBKDF2-HMAC-SHA512, 256k iterations, 4096-byte pages)
- Call fips_configure_cipher() after sqlite3_key() in JNI and sample app
- Copy key material to OPENSSL_malloc buffer and zeroize with
  OPENSSL_cleanse after use (SP 800-132 §5.3)
- Fix provider leak: unload FIPS provider on EVP_set_default_properties
  failure to prevent silent FIPS bypass
- Delete stale DB before round-trip compliance test
- Add .codegraph/ and .grepai/ to .gitignore
- Document fips_configure_cipher API and key handling in CLAUDE.md
2026-05-09 12:32:48 -07:00
Christopher Fahlin debac2bedf feat: add Room integration via FipsSQLiteOpenHelperFactory in AAR
- Add FipsDatabase (SupportSQLiteDatabase impl) wrapping native SQLCipher JNI
- Add FipsSQLiteOpenHelperFactory for Room openHelperFactory() integration
- Add fips_db_jni.c with full SQLCipher JNI bridge (open/close/exec/prepare/step/bind/column)
- Add fips_init_jni.c for FIPSSQLCipher Kotlin class JNI bridge
- Add packaging/build_jni.sh to cross-compile libfips_jni.so per ABI
- Add packaging/android-lib Gradle module to compile Kotlin into classes.jar
- Fix FIPS init to use programmatic APIs (OSSL_PROVIDER_set_default_search_path,
  OSSL_LIB_CTX_load_config) bypassing AT_SECURE env var blocking on Android
- AAR now self-contained: classes.jar, libfips_jni.so, per-ABI fipsmodule.cnf,
  C sources in assets/native/
- Add Room demo section to sample app with FIPS-encrypted CRUD operations
- Remove dead code: appenv.c (unused setenv shim), fips_sqlcipher.h
- Update install.md to reflect simplified 2-step Android integration
2026-05-04 20:47:05 -07:00
Christopher Fahlin 5436c4fa14 chore: update .gitignore and remove ignored files from tracking 2026-05-04 19:36:25 -07:00
Christopher Fahlin c4c049a933 feat: initial project structure 2026-05-04 19:34:28 -07:00