6d01667c8d96
fix JNI key copies to zeroize on drop and bump product version to v5.0.86
- time
- 2026-09-04 00:18 UTC · 1 month ago
- machine
- koh2
- agent
- claude-sonnet-4-6
- session
- PB-26-317 JNI zeroization
- parent
- 5e594fa15b5d
↓ peach-browser-6d01667c.tar.gzatlas at this save
files changed4 files
crypto-core/src/jni_bridge.rs+16 −1manifest.firefox.json+1 −1manifest.json+1 −1package.json+1 −1crypto-core/src/jni_bridge.rs+16 −1
@@ -13,6 +13,7 @@1313 atomic::{AtomicI64, Ordering},1414 },1515 };16+use zeroize::Zeroizing;1617 1718 static NEXT_HANDLE: AtomicI64 = AtomicI64::new(1);1819 static SESSIONS: Lazy<Mutex<HashMap<i64, CoreNoiseSession>>> =@@ -20,9 +21,23 @@2021 2122 type NativeResult<T> = Result<T, String>;2223 23-fn bytes(env: &JNIEnv<'_>, value: JByteArray<'_>) -> NativeResult<Vec<u8>> {24+fn bytes(env: &JNIEnv<'_>, value: JByteArray<'_>) -> NativeResult<Zeroizing<Vec<u8>>> {2425 env.convert_byte_array(value)26+ .map(Zeroizing::new)2527 .map_err(|error| error.to_string())28+}29+30+#[cfg(test)]31+mod tests {32+ use super::*;33+34+ #[test]35+ fn jni_byte_copies_use_zeroizing_storage() {36+ let _: for<'a> fn(37+ &JNIEnv<'a>,38+ JByteArray<'a>,39+ ) -> NativeResult<zeroize::Zeroizing<Vec<u8>>> = bytes;40+ }2641 }2742 2843 fn create(session: CoreNoiseSession) -> NativeResult<jlong> {manifest.firefox.json+1 −1
@@ -1,7 +1,7 @@11 {22 "manifest_version": 3,33 "name": "Peach Password Manager",4- "version": "5.0.85",4+ "version": "5.0.86",55 "description": "Zero-knowledge password manager",66 "browser_specific_settings": {77 "gecko": {manifest.json+1 −1
@@ -2,7 +2,7 @@22 "manifest_version": 3,33 "minimum_chrome_version": "116",44 "name": "Peach Password Manager",5- "version": "5.0.85",5+ "version": "5.0.86",66 "description": "Zero-knowledge password manager",77 "action": {88 "default_popup": "src/popup/index.html",package.json+1 −1
@@ -1,6 +1,6 @@11 {22 "name": "peach",3- "version": "5.0.85",3+ "version": "5.0.86",44 "description": "Zero-knowledge password manager",55 "license": "GPL-3.0-only",66 "type": "module",