Goal
Add the OpenTDFKit Swift SDK to the opentdf-tests cross-SDK compatibility matrix so that Swift-produced TDFs can be decrypted by the reference SDKs (and vice versa).
Background
- OpenTDFKit is a Swift implementation of OpenTDF supporting both NanoTDF and TDF (Archive Envelope) formats.
- The upstream
opentdf/tests repository runs xtests across the official SDKs to ensure interoperability.
- This fork exists to add Swift coverage and drive the required CLI/API changes in OpenTDFKit.
Current State
The OpenTDFKit repo has a partial xtest/cli.swift stub, but it is not yet functional for cross-SDK testing:
- ZTDF /
ztdf-ecwrap encrypt and decrypt are not implemented (they exit(1)).
- NanoTDF decrypt only parses the header and writes a placeholder; it does not recover plaintext via KAS rewrap.
- The CLI interface and environment-variable contract need to match what the xtest harness expects.
Acceptance Criteria
Related
Goal
Add the OpenTDFKit Swift SDK to the
opentdf-testscross-SDK compatibility matrix so that Swift-produced TDFs can be decrypted by the reference SDKs (and vice versa).Background
opentdf/testsrepository runs xtests across the official SDKs to ensure interoperability.Current State
The OpenTDFKit repo has a partial
xtest/cli.swiftstub, but it is not yet functional for cross-SDK testing:ztdf-ecwrapencrypt and decrypt are not implemented (theyexit(1)).Acceptance Criteria
encrypt <plaintext> <ciphertext> nanoencrypt <plaintext> <ciphertext> nano-with-ecdsaencrypt <plaintext> <ciphertext> ztdfencrypt <plaintext> <ciphertext> ztdf-ecwrapdecrypt <ciphertext> <recovered> <format>supports <feature>cli.sh/ Makefile wrapper that the xtest harness can invoke.otdfctl/ Go SDK, decrypt with Swift.otdfctl/ Go SDK.Related
xtest/cli.swift