Commit fab82a2
authored
fix(sdk): allow the same KAS to wrap the same split (DSPX-3379) (#967)
splitLookupTableFactory now returns split id -> KeyAccessObject[] (a
disjunction of alternatives) instead of a url-keyed map, and no longer
throws when a KAS repeats within a split. unwrapKey feeds each alternative
to anyPool with a unique key so duplicate KAS entries are each tried until
one succeeds. Matches go-sdk/java-sdk behavior; validated by xtest
test_tdf_with_duplicate_kao_same_kas (opentdf/tests#555).
Adds unit tests for duplicate + same-KAS-different-KID, an in-process
decrypt-path test, and fills spec/DSPX-3379.md.
---------
Signed-off-by: Dave Mihalcik <dmihalcik@virtru.com>1 parent a84cead commit fab82a2
3 files changed
Lines changed: 95 additions & 31 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
706 | 706 | | |
707 | 707 | | |
708 | 708 | | |
709 | | - | |
| 709 | + | |
710 | 710 | | |
711 | 711 | | |
712 | 712 | | |
713 | | - | |
| 713 | + | |
714 | 714 | | |
715 | 715 | | |
716 | 716 | | |
| |||
720 | 720 | | |
721 | 721 | | |
722 | 722 | | |
723 | | - | |
724 | | - | |
| 723 | + | |
| 724 | + | |
| 725 | + | |
| 726 | + | |
| 727 | + | |
725 | 728 | | |
726 | 729 | | |
727 | | - | |
728 | | - | |
729 | | - | |
730 | | - | |
731 | | - | |
732 | | - | |
733 | | - | |
734 | | - | |
735 | | - | |
736 | | - | |
737 | | - | |
738 | 730 | | |
739 | | - | |
| 731 | + | |
740 | 732 | | |
741 | 733 | | |
742 | 734 | | |
| |||
931 | 923 | | |
932 | 924 | | |
933 | 925 | | |
934 | | - | |
| 926 | + | |
935 | 927 | | |
936 | 928 | | |
937 | 929 | | |
938 | 930 | | |
939 | 931 | | |
940 | 932 | | |
941 | | - | |
942 | | - | |
| 933 | + | |
| 934 | + | |
| 935 | + | |
| 936 | + | |
| 937 | + | |
| 938 | + | |
943 | 939 | | |
944 | 940 | | |
945 | 941 | | |
946 | 942 | | |
947 | 943 | | |
948 | 944 | | |
949 | | - | |
| 945 | + | |
950 | 946 | | |
951 | 947 | | |
952 | 948 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
363 | 363 | | |
364 | 364 | | |
365 | 365 | | |
| 366 | + | |
| 367 | + | |
| 368 | + | |
| 369 | + | |
| 370 | + | |
| 371 | + | |
| 372 | + | |
| 373 | + | |
| 374 | + | |
| 375 | + | |
| 376 | + | |
| 377 | + | |
| 378 | + | |
| 379 | + | |
| 380 | + | |
| 381 | + | |
| 382 | + | |
| 383 | + | |
| 384 | + | |
| 385 | + | |
| 386 | + | |
| 387 | + | |
| 388 | + | |
| 389 | + | |
| 390 | + | |
| 391 | + | |
| 392 | + | |
| 393 | + | |
| 394 | + | |
| 395 | + | |
| 396 | + | |
| 397 | + | |
| 398 | + | |
| 399 | + | |
| 400 | + | |
| 401 | + | |
| 402 | + | |
| 403 | + | |
| 404 | + | |
| 405 | + | |
| 406 | + | |
| 407 | + | |
| 408 | + | |
| 409 | + | |
| 410 | + | |
| 411 | + | |
| 412 | + | |
| 413 | + | |
| 414 | + | |
| 415 | + | |
| 416 | + | |
| 417 | + | |
366 | 418 | | |
367 | 419 | | |
368 | 420 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
260 | 260 | | |
261 | 261 | | |
262 | 262 | | |
263 | | - | |
264 | | - | |
| 263 | + | |
| 264 | + | |
265 | 265 | | |
266 | 266 | | |
267 | 267 | | |
| |||
275 | 275 | | |
276 | 276 | | |
277 | 277 | | |
278 | | - | |
279 | | - | |
| 278 | + | |
| 279 | + | |
280 | 280 | | |
281 | 281 | | |
282 | 282 | | |
| |||
293 | 293 | | |
294 | 294 | | |
295 | 295 | | |
296 | | - | |
| 296 | + | |
297 | 297 | | |
298 | 298 | | |
299 | | - | |
| 299 | + | |
300 | 300 | | |
301 | 301 | | |
302 | 302 | | |
303 | | - | |
304 | | - | |
305 | | - | |
306 | | - | |
| 303 | + | |
| 304 | + | |
| 305 | + | |
| 306 | + | |
| 307 | + | |
| 308 | + | |
| 309 | + | |
| 310 | + | |
| 311 | + | |
| 312 | + | |
| 313 | + | |
| 314 | + | |
| 315 | + | |
| 316 | + | |
| 317 | + | |
| 318 | + | |
| 319 | + | |
| 320 | + | |
| 321 | + | |
| 322 | + | |
307 | 323 | | |
308 | 324 | | |
309 | 325 | | |
| |||
336 | 352 | | |
337 | 353 | | |
338 | 354 | | |
339 | | - | |
| 355 | + | |
340 | 356 | | |
341 | 357 | | |
342 | 358 | | |
0 commit comments