keys: read damage is never a key failure; legacy key API removed

Damaged AACS units are holed, blanked and counted on every path instead
of stopping with E7013; failed batch partners fall back to side reads
and a wrong FMTS key is judged per key. ResolvedKeySet is the only AACS
decrypt door; a raw whole-disc reader never decrypts and refuses titles
with no stream folder (E6003) or a piece no held key opens (E7032).
This commit is contained in:
Matthew Jackson
2026-09-29 17:20:43 -07:00
parent 25fd393c04
commit 1d78420366
51 changed files with 2461 additions and 8541 deletions
-6
View File
@@ -88,12 +88,6 @@ fn decrypt_keys_is_encrypted_variants() {
let none = DecryptKeys::None;
assert!(!none.is_encrypted());
let aacs = DecryptKeys::Aacs {
unit_keys: vec![],
format: libfreemkv::disc::ContentFormat::BdTs,
};
assert!(aacs.is_encrypted());
let css = DecryptKeys::Css {
title_key: [0u8; 5],
};