Skip to content

Last1 ID Interoperability Test Vectors

This directory contains deterministic interoperability vectors for Last1 ID DID + VC cryptographic behavior.

Vector suites

  1. suite-1-vc-issuance
  2. Protects: VC signature integrity and tamper resistance.
  3. Property: a signed VC verifies with the expected issuer key; any signed-field mutation fails verification.

  4. suite-2-vp-challenge

  5. Protects: VP anti-replay binding to verifier challenge and audience/client.
  6. Property: VP is valid only when signature, challenge, and audience binding all match expected verifier inputs.

  7. suite-3-status-revocation

  8. Protects: deterministic credential status resolution from VC credentialStatus + status list resource.
  9. Property: active/revoked/expired status outcomes are derived offline without database or network calls.

  10. suite-4-did-rotation

  11. Protects: DID-based verification key transitions.
  12. Property: pre-rotation credentials verify with old DID doc key material, post-rotation credentials verify with new DID doc key material, and unauthorized keys are rejected.

Design constraints

  • Fixtures are static JSON and loaded directly from disk.
  • No live network calls are required.
  • Verification properties are encoded in manifest.json and asserted in server/lib/interopVectors.test.ts.
  • Timestamps in signed fixtures are fixed for repeatability.

Assumptions

  • Current production helper verificationMethodId() defaults to #key-1; rotation vectors validate #key-2 through fixture DID documents in test logic.
  • VP challenge/audience binding is enforced by a strict verifier helper used by tests.
  • Expiry checks are deterministic by fixing test clock when needed.