feat: AES-128 support for FairPlay Streaming compatibility#33
Merged
arkavo-com merged 4 commits intomainfrom Dec 27, 2025
Merged
feat: AES-128 support for FairPlay Streaming compatibility#33arkavo-com merged 4 commits intomainfrom
arkavo-com merged 4 commits intomainfrom
Conversation
Add configurable key size support to TDF Archive encryption: - New TDFKeySize enum (.bits128, .bits256) with algorithm string - TDFEncryptionConfiguration now accepts keySize parameter - TDFManifestBuilder supports algorithm parameter - CLI supports TDF_KEY_SIZE environment variable - 12 new tests for AES-128 encryption/decryption Default remains AES-256-GCM for backward compatibility. NanoTDF unchanged (requires AES-256 per spec). Closes #32 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Include KAS public key in collection header for KeyStore lookup - Update KeyStore.derivePayloadSymmetricKey to use v12 salt - Update tests to match v12 salt derivation 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



Summary
Adds configurable AES key size support to TDF Archive encryption, enabling AES-128-GCM for FairPlay Streaming DRM compatibility.
Closes #32
Changes
TDFKeySizeenum (.bits128,.bits256) with algorithm string propertyTDFEncryptionConfigurationnow accepts optionalkeySizeparameter (defaults to.bits256)TDFManifestBuildersupports configurable algorithm parameterTDF_KEY_SIZEenvironment variable (128 or 256)API Usage
Backward Compatibility
Test plan
testTDFKeySizeEnum- enum properties correcttestAES128KeyGeneration- generates 16-byte keystestAES128EncryptionDecryption- round-trip workstestAES128EndToEndEncryption- full TDF workflowtestAES128RSAKeyWrapping- key wrapping/unwrappingtestManifestBuilderWithAES128- manifest algorithm string🤖 Generated with Claude Code