diff --git a/native/cpp/CommonCpp/DatabaseManagers/DatabaseManager.cpp b/native/cpp/CommonCpp/DatabaseManagers/DatabaseManager.cpp --- a/native/cpp/CommonCpp/DatabaseManagers/DatabaseManager.cpp +++ b/native/cpp/CommonCpp/DatabaseManagers/DatabaseManager.cpp @@ -89,6 +89,9 @@ } void DatabaseManager::clearRestoredDatabaseSensitiveData() { + CommSecureStore::set(CommSecureStore::restoredBackupPath, ""); + CommSecureStore::set(CommSecureStore::restoredBackupDataKey, ""); + if (!DatabaseManager::restoredConnectionManager) { return; } @@ -455,6 +458,9 @@ std::string maxVersion) { SQLiteBackup::validateMainCompaction( mainCompactionPath, mainCompactionEncryptionKey); + CommSecureStore::set(CommSecureStore::restoredBackupPath, mainCompactionPath); + CommSecureStore::set( + CommSecureStore::restoredBackupDataKey, mainCompactionEncryptionKey); // At this point, logs are already applied to the database, and we don't have // access to it, so we use just an empty string. DatabaseManager::restoredConnectionManager = diff --git a/native/cpp/CommonCpp/Tools/CommSecureStore.h b/native/cpp/CommonCpp/Tools/CommSecureStore.h --- a/native/cpp/CommonCpp/Tools/CommSecureStore.h +++ b/native/cpp/CommonCpp/Tools/CommSecureStore.h @@ -17,6 +17,10 @@ inline static const std::string backupDataKey = "comm.encryptionKey"; inline static const std::string backupLogDataKey = "comm.backupLogsEncryptionKey"; + inline static const std::string restoredBackupPath = + "comm.restoredBackupPath"; + inline static const std::string restoredBackupDataKey = + "comm.restoredBackupDataKey"; }; } // namespace comm diff --git a/native/native_rust_library/src/constants.rs b/native/native_rust_library/src/constants.rs --- a/native/native_rust_library/src/constants.rs +++ b/native/native_rust_library/src/constants.rs @@ -15,6 +15,9 @@ pub const SECURE_STORE_BACKUP_DATA_KEY_ID: &str = "comm.encryptionKey"; pub const SECURE_STORE_BACKUP_LOG_DATA_KEY_ID: &str = "comm.backupLogsEncryptionKey"; + pub const SECURE_STORE_RESTORED_BACKUP_PATH: &str = "comm.restoredBackupPath"; + pub const SECURE_STORE_RESTORED_BACKUP_DATA_KEY_ID: &str = + "comm.restoredBackupDataKey"; } pub const BACKUP_SERVICE_CONNECTION_RETRY_DELAY: Duration =