Skip to content

test(xmlenc): add Phaos decrypt interoperability #98

Description

@polaz

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions