Problem
The XML Encryption decryption pipeline is covered by xmlsec1, Merlin, and NIST vectors, but it does not yet exercise the independent Phaos XML Encryption corpus. That leaves third-party AES-CBC, RSA-OAEP, and AES Key Wrap compatibility unverified and does not prove that excluded legacy algorithms fail closed at the intended boundary.
Scope
- Vendor the decrypt-relevant Phaos corpus and public test keys through the repository fixture import workflow.
- Decrypt every vector that falls within the supported secure algorithm profile through the public API and compare complete documents with donor plaintext.
- Classify every excluded or invalid vector with a specific error boundary, including Triple-DES, RSA-PKCS#1 v1.5 key transport, AES-192, unsupported key wrapping, and Diffie-Hellman agreement.
- Reject unsupported
AgreementMethod input explicitly instead of degrading to an ambiguous missing-key error.
- Cover wrong-key and wrapped-key tampering failures without weakening the secure algorithm profile.
- Document fixture provenance and the supported/rejected corpus inventory.
Acceptance criteria
- Every encrypted Phaos XML vector is included in an exhaustive corpus count.
- All supported RSA-OAEP and AES Key Wrap vectors decrypt through the complete parser, resolver, cipher, and document-replacement pipeline.
- Every unsupported vector asserts its exact fail-closed error and algorithm URI.
- Negative tests cover wrong RSA key material and AES Key Wrap integrity failure.
- Unit, integration, doctest, clippy, all-feature build, and package validation pass.
Problem
The XML Encryption decryption pipeline is covered by xmlsec1, Merlin, and NIST vectors, but it does not yet exercise the independent Phaos XML Encryption corpus. That leaves third-party AES-CBC, RSA-OAEP, and AES Key Wrap compatibility unverified and does not prove that excluded legacy algorithms fail closed at the intended boundary.
Scope
AgreementMethodinput explicitly instead of degrading to an ambiguous missing-key error.Acceptance criteria