-
Notifications
You must be signed in to change notification settings - Fork 5
fix(sdk): allow duplicate KAOs on same KAS within a split (DSPX-3379) #937
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 2 commits
2b86f4c
fe7e42f
66f7953
62dbef3
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,42 @@ | ||
| --- | ||
| ticket: DSPX-3379 | ||
| title: Web SDK fails if the same KAS gets more than one copy of the same split | ||
| status: draft | ||
| authors: | ||
| - dmihalcik@virtru.com | ||
| branches: | ||
| - opentdf/web-sdk:DSPX-3379-splitfix | ||
| prs: [] | ||
| created: 2026-05-28T00:00:00Z | ||
| updated: 2026-05-28T00:00:00Z | ||
| jira_priority: Medium | ||
| --- | ||
|
|
||
|
|
||
| # Web SDK fails if the same KAS gets more than one copy of the same split | ||
|
|
||
| ## Summary | ||
| We should allow the same KAS to wrap the same split. This could indicate a mistake during creation (the same key used multiple times) or an intended behavior (different keys on the same KAS indicating different security profiles of life cycles). | ||
| Behavior: | ||
| When a KAO array has two elements with the same split id and the same kas uri, it fails with the error: | ||
| TODO: Fallback to no split ids. Repetition found for [https://virtru.gbr.dev.internal] on split [71ce30e4-cd90-4269-adf7-c06db931338f]TdfError: TODO: Fallback to no split ids. Repetition found for [https://virtru.gbr.dev.internal] on split [71ce30e4-cd90-4269-adf7-c06db931338f] at splitLookupTableFactory (https://virtru.gbr.dev.internal/secureviewer/assets/index-BySOd6k_.js:29440:13) at unwrapKey (https://virtru.gbr.dev.internal/secureviewer/assets/index-BySOd6k_.js:29453:27) at decryptStreamFrom (https://virtru.gbr.dev.internal/secureviewer/assets/index-BySOd6k_.js:29691:75) at ZTDFReader.decrypt (https://virtru.gbr.dev.internal/secureviewer/assets/index-BySOd6k_.js:30874:29)Expected behavior: | ||
| The file should decrypt (or fail with permission denied) as it would if the keys were stored on distinct URIs | ||
|
|
||
| ## Problem / Motivation | ||
| _Why does this work need to happen? What is the user/business pain?_ | ||
|
|
||
| ## Proposed Solution | ||
| _What will you build, at a functional level? Sketch the approach._ | ||
|
|
||
| ## Inputs / Outputs / Contracts | ||
| _Function signatures, data shapes, API contracts, CLI flags._ | ||
|
|
||
| ## Edge Cases & Constraints | ||
| _Boundary conditions, error states, performance limits, security considerations._ | ||
|
|
||
| ## Out of Scope | ||
| _What this work item explicitly does not cover._ | ||
|
|
||
| ## Acceptance Criteria | ||
| - [ ] _Clear, testable condition_ | ||
| - [ ] _…_ | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The specification file contains several empty sections with placeholder template text (e.g., |
||
Uh oh!
There was an error while loading. Please reload this page.