diff --git a/src/bin/proxmox-backup-client.rs b/src/bin/proxmox-backup-client.rs index 1c456aab..36da624e 100644 --- a/src/bin/proxmox-backup-client.rs +++ b/src/bin/proxmox-backup-client.rs @@ -1273,11 +1273,16 @@ async fn restore(param: Value) -> Result { true, ).await?; - let (manifest, backup_index_data) = client.download_manifest().await?; - manifest.check_fingerprint(crypt_config.as_ref().map(Arc::as_ref))?; - let (archive_name, archive_type) = parse_archive_type(archive_name); + let (manifest, backup_index_data) = client.download_manifest().await?; + + if archive_name == ENCRYPTED_KEY_BLOB_NAME && crypt_config.is_none() { + eprintln!("Restoring encrypted key blob without original key - skipping manifest fingerprint check!") + } else { + manifest.check_fingerprint(crypt_config.as_ref().map(Arc::as_ref))?; + } + if archive_name == MANIFEST_BLOB_NAME { if let Some(target) = target { replace_file(target, &backup_index_data, CreateOptions::new())?;