pub fn open(data: &[u8], keks: &[Kek]) -> Result<OpenedFile>Expand description
打开加密文件:解包 FEK 并验证头部完整性。
§顺序不可调换
严格按规范 §9:解包 FEK → 立即验证 MAC → 再检查 CRITICAL TLV。 若在 MAC 验证前就依据头部字段解读 TLV 或载荷,攻击者可篡改字段诱导错误解读。
§Errors
Error::NoMatchingSlot:没有 KEK 能解开任何 slot。这不代表文件损坏, 也可能只是该文件不属于当前解锁的密码Error::HeaderMacMismatch:文件被篡改Error::UnknownCriticalTlv:存在无法理解的必需字段