@opentdf/sdk 0.9.0-beta.91 → 0.9.0-beta.93

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (182) hide show
  1. package/dist/cjs/src/access/access-fetch.js +1 -2
  2. package/dist/cjs/src/access/access-rpc.js +1 -3
  3. package/dist/cjs/src/access.js +1 -14
  4. package/dist/cjs/src/auth/auth.js +13 -10
  5. package/dist/cjs/src/auth/dpop.js +121 -0
  6. package/dist/cjs/src/auth/oidc-clientcredentials-provider.js +37 -3
  7. package/dist/cjs/src/auth/oidc-externaljwt-provider.js +37 -3
  8. package/dist/cjs/src/auth/oidc-refreshtoken-provider.js +37 -3
  9. package/dist/cjs/src/auth/oidc.js +10 -8
  10. package/dist/cjs/src/auth/providers.js +35 -12
  11. package/dist/cjs/src/crypto/index.js +16 -2
  12. package/dist/cjs/src/crypto/pemPublicToCrypto.js +17 -11
  13. package/dist/cjs/src/opentdf.js +40 -10
  14. package/dist/cjs/tdf3/index.js +4 -2
  15. package/dist/cjs/tdf3/src/assertions.js +71 -31
  16. package/dist/cjs/tdf3/src/ciphers/aes-gcm-cipher.js +1 -1
  17. package/dist/cjs/tdf3/src/ciphers/symmetric-cipher-base.js +4 -2
  18. package/dist/cjs/tdf3/src/client/index.js +23 -33
  19. package/dist/cjs/tdf3/src/crypto/crypto-utils.js +12 -5
  20. package/dist/cjs/tdf3/src/crypto/declarations.js +1 -1
  21. package/dist/cjs/tdf3/src/crypto/index.js +849 -88
  22. package/dist/cjs/tdf3/src/crypto/jose/jwt-claims-set.js +11 -0
  23. package/dist/cjs/tdf3/src/crypto/jose/validate-crit.js +8 -0
  24. package/dist/cjs/tdf3/src/crypto/jose/vendor/lib/buffer_utils.js +41 -0
  25. package/dist/cjs/tdf3/src/crypto/jose/vendor/lib/epoch.js +6 -0
  26. package/dist/cjs/tdf3/src/crypto/jose/vendor/lib/is_object.js +21 -0
  27. package/dist/cjs/tdf3/src/crypto/jose/vendor/lib/jwt_claims_set.js +112 -0
  28. package/dist/cjs/tdf3/src/crypto/jose/vendor/lib/secs.js +60 -0
  29. package/dist/cjs/tdf3/src/crypto/jose/vendor/lib/validate_crit.js +38 -0
  30. package/dist/cjs/tdf3/src/crypto/jose/vendor/util/errors.js +135 -0
  31. package/dist/cjs/tdf3/src/crypto/jwt.js +183 -0
  32. package/dist/cjs/tdf3/src/crypto/salt.js +14 -8
  33. package/dist/cjs/tdf3/src/models/encryption-information.js +17 -20
  34. package/dist/cjs/tdf3/src/models/key-access.js +43 -63
  35. package/dist/cjs/tdf3/src/tdf.js +75 -75
  36. package/dist/cjs/tdf3/src/utils/index.js +5 -39
  37. package/dist/types/src/access/access-fetch.d.ts.map +1 -1
  38. package/dist/types/src/access/access-rpc.d.ts.map +1 -1
  39. package/dist/types/src/access.d.ts +0 -5
  40. package/dist/types/src/access.d.ts.map +1 -1
  41. package/dist/types/src/auth/auth.d.ts +9 -6
  42. package/dist/types/src/auth/auth.d.ts.map +1 -1
  43. package/dist/types/src/auth/dpop.d.ts +60 -0
  44. package/dist/types/src/auth/dpop.d.ts.map +1 -0
  45. package/dist/types/src/auth/oidc-clientcredentials-provider.d.ts +3 -2
  46. package/dist/types/src/auth/oidc-clientcredentials-provider.d.ts.map +1 -1
  47. package/dist/types/src/auth/oidc-externaljwt-provider.d.ts +3 -2
  48. package/dist/types/src/auth/oidc-externaljwt-provider.d.ts.map +1 -1
  49. package/dist/types/src/auth/oidc-refreshtoken-provider.d.ts +3 -2
  50. package/dist/types/src/auth/oidc-refreshtoken-provider.d.ts.map +1 -1
  51. package/dist/types/src/auth/oidc.d.ts +6 -4
  52. package/dist/types/src/auth/oidc.d.ts.map +1 -1
  53. package/dist/types/src/auth/providers.d.ts +5 -4
  54. package/dist/types/src/auth/providers.d.ts.map +1 -1
  55. package/dist/types/src/crypto/index.d.ts +2 -1
  56. package/dist/types/src/crypto/index.d.ts.map +1 -1
  57. package/dist/types/src/crypto/pemPublicToCrypto.d.ts +18 -0
  58. package/dist/types/src/crypto/pemPublicToCrypto.d.ts.map +1 -1
  59. package/dist/types/src/opentdf.d.ts +13 -4
  60. package/dist/types/src/opentdf.d.ts.map +1 -1
  61. package/dist/types/tdf3/index.d.ts +3 -3
  62. package/dist/types/tdf3/index.d.ts.map +1 -1
  63. package/dist/types/tdf3/src/assertions.d.ts +23 -8
  64. package/dist/types/tdf3/src/assertions.d.ts.map +1 -1
  65. package/dist/types/tdf3/src/ciphers/aes-gcm-cipher.d.ts +3 -3
  66. package/dist/types/tdf3/src/ciphers/aes-gcm-cipher.d.ts.map +1 -1
  67. package/dist/types/tdf3/src/ciphers/symmetric-cipher-base.d.ts +4 -4
  68. package/dist/types/tdf3/src/ciphers/symmetric-cipher-base.d.ts.map +1 -1
  69. package/dist/types/tdf3/src/client/builders.d.ts +2 -2
  70. package/dist/types/tdf3/src/client/builders.d.ts.map +1 -1
  71. package/dist/types/tdf3/src/client/index.d.ts +6 -5
  72. package/dist/types/tdf3/src/client/index.d.ts.map +1 -1
  73. package/dist/types/tdf3/src/crypto/crypto-utils.d.ts +14 -4
  74. package/dist/types/tdf3/src/crypto/crypto-utils.d.ts.map +1 -1
  75. package/dist/types/tdf3/src/crypto/declarations.d.ts +283 -18
  76. package/dist/types/tdf3/src/crypto/declarations.d.ts.map +1 -1
  77. package/dist/types/tdf3/src/crypto/index.d.ts +105 -28
  78. package/dist/types/tdf3/src/crypto/index.d.ts.map +1 -1
  79. package/dist/types/tdf3/src/crypto/jose/jwt-claims-set.d.ts +3 -0
  80. package/dist/types/tdf3/src/crypto/jose/jwt-claims-set.d.ts.map +1 -0
  81. package/dist/types/tdf3/src/crypto/jose/validate-crit.d.ts +5 -0
  82. package/dist/types/tdf3/src/crypto/jose/validate-crit.d.ts.map +1 -0
  83. package/dist/types/tdf3/src/crypto/jose/vendor/lib/buffer_utils.d.ts +6 -0
  84. package/dist/types/tdf3/src/crypto/jose/vendor/lib/buffer_utils.d.ts.map +1 -0
  85. package/dist/types/tdf3/src/crypto/jose/vendor/lib/epoch.d.ts +3 -0
  86. package/dist/types/tdf3/src/crypto/jose/vendor/lib/epoch.d.ts.map +1 -0
  87. package/dist/types/tdf3/src/crypto/jose/vendor/lib/is_object.d.ts +3 -0
  88. package/dist/types/tdf3/src/crypto/jose/vendor/lib/is_object.d.ts.map +1 -0
  89. package/dist/types/tdf3/src/crypto/jose/vendor/lib/jwt_claims_set.d.ts +3 -0
  90. package/dist/types/tdf3/src/crypto/jose/vendor/lib/jwt_claims_set.d.ts.map +1 -0
  91. package/dist/types/tdf3/src/crypto/jose/vendor/lib/secs.d.ts +3 -0
  92. package/dist/types/tdf3/src/crypto/jose/vendor/lib/secs.d.ts.map +1 -0
  93. package/dist/types/tdf3/src/crypto/jose/vendor/lib/validate_crit.d.ts +3 -0
  94. package/dist/types/tdf3/src/crypto/jose/vendor/lib/validate_crit.d.ts.map +1 -0
  95. package/dist/types/tdf3/src/crypto/jose/vendor/util/errors.d.ts +76 -0
  96. package/dist/types/tdf3/src/crypto/jose/vendor/util/errors.d.ts.map +1 -0
  97. package/dist/types/tdf3/src/crypto/jwt.d.ts +76 -0
  98. package/dist/types/tdf3/src/crypto/jwt.d.ts.map +1 -0
  99. package/dist/types/tdf3/src/crypto/salt.d.ts +6 -1
  100. package/dist/types/tdf3/src/crypto/salt.d.ts.map +1 -1
  101. package/dist/types/tdf3/src/models/encryption-information.d.ts +4 -4
  102. package/dist/types/tdf3/src/models/encryption-information.d.ts.map +1 -1
  103. package/dist/types/tdf3/src/models/key-access.d.ts +8 -5
  104. package/dist/types/tdf3/src/models/key-access.d.ts.map +1 -1
  105. package/dist/types/tdf3/src/tdf.d.ts +8 -8
  106. package/dist/types/tdf3/src/tdf.d.ts.map +1 -1
  107. package/dist/types/tdf3/src/utils/index.d.ts +4 -3
  108. package/dist/types/tdf3/src/utils/index.d.ts.map +1 -1
  109. package/dist/web/src/access/access-fetch.js +3 -4
  110. package/dist/web/src/access/access-rpc.js +3 -5
  111. package/dist/web/src/access.js +1 -13
  112. package/dist/web/src/auth/auth.js +13 -10
  113. package/dist/web/src/auth/dpop.js +118 -0
  114. package/dist/web/src/auth/oidc-clientcredentials-provider.js +4 -3
  115. package/dist/web/src/auth/oidc-externaljwt-provider.js +4 -3
  116. package/dist/web/src/auth/oidc-refreshtoken-provider.js +4 -3
  117. package/dist/web/src/auth/oidc.js +11 -9
  118. package/dist/web/src/auth/providers.js +13 -12
  119. package/dist/web/src/crypto/index.js +4 -2
  120. package/dist/web/src/crypto/pemPublicToCrypto.js +11 -9
  121. package/dist/web/src/opentdf.js +7 -10
  122. package/dist/web/tdf3/index.js +3 -2
  123. package/dist/web/tdf3/src/assertions.js +71 -31
  124. package/dist/web/tdf3/src/ciphers/aes-gcm-cipher.js +1 -1
  125. package/dist/web/tdf3/src/ciphers/symmetric-cipher-base.js +4 -2
  126. package/dist/web/tdf3/src/client/index.js +25 -35
  127. package/dist/web/tdf3/src/crypto/crypto-utils.js +12 -5
  128. package/dist/web/tdf3/src/crypto/declarations.js +1 -1
  129. package/dist/web/tdf3/src/crypto/index.js +830 -84
  130. package/dist/web/tdf3/src/crypto/jose/jwt-claims-set.js +5 -0
  131. package/dist/web/tdf3/src/crypto/jose/validate-crit.js +3 -0
  132. package/dist/web/tdf3/src/crypto/jose/vendor/lib/buffer_utils.js +35 -0
  133. package/dist/web/tdf3/src/crypto/jose/vendor/lib/epoch.js +4 -0
  134. package/dist/web/tdf3/src/crypto/jose/vendor/lib/is_object.js +19 -0
  135. package/dist/web/tdf3/src/crypto/jose/vendor/lib/jwt_claims_set.js +107 -0
  136. package/dist/web/tdf3/src/crypto/jose/vendor/lib/secs.js +58 -0
  137. package/dist/web/tdf3/src/crypto/jose/vendor/lib/validate_crit.js +36 -0
  138. package/dist/web/tdf3/src/crypto/jose/vendor/util/errors.js +117 -0
  139. package/dist/web/tdf3/src/crypto/jwt.js +174 -0
  140. package/dist/web/tdf3/src/crypto/salt.js +13 -7
  141. package/dist/web/tdf3/src/models/encryption-information.js +11 -14
  142. package/dist/web/tdf3/src/models/key-access.js +44 -31
  143. package/dist/web/tdf3/src/tdf.js +71 -71
  144. package/dist/web/tdf3/src/utils/index.js +5 -6
  145. package/package.json +11 -4
  146. package/src/access/access-fetch.ts +2 -8
  147. package/src/access/access-rpc.ts +0 -7
  148. package/src/access.ts +0 -17
  149. package/src/auth/auth.ts +21 -12
  150. package/src/auth/dpop.ts +222 -0
  151. package/src/auth/oidc-clientcredentials-provider.ts +23 -15
  152. package/src/auth/oidc-externaljwt-provider.ts +23 -15
  153. package/src/auth/oidc-refreshtoken-provider.ts +23 -15
  154. package/src/auth/oidc.ts +21 -10
  155. package/src/auth/providers.ts +46 -29
  156. package/src/crypto/index.ts +21 -1
  157. package/src/crypto/pemPublicToCrypto.ts +11 -9
  158. package/src/opentdf.ts +19 -14
  159. package/tdf3/index.ts +32 -5
  160. package/tdf3/src/assertions.ts +99 -30
  161. package/tdf3/src/ciphers/aes-gcm-cipher.ts +7 -2
  162. package/tdf3/src/ciphers/symmetric-cipher-base.ts +7 -4
  163. package/tdf3/src/client/builders.ts +2 -2
  164. package/tdf3/src/client/index.ts +60 -59
  165. package/tdf3/src/crypto/crypto-utils.ts +15 -8
  166. package/tdf3/src/crypto/declarations.ts +338 -22
  167. package/tdf3/src/crypto/index.ts +1021 -118
  168. package/tdf3/src/crypto/jose/jwt-claims-set.ts +10 -0
  169. package/tdf3/src/crypto/jose/validate-crit.ts +9 -0
  170. package/tdf3/src/crypto/jose/vendor/lib/buffer_utils.ts +34 -0
  171. package/tdf3/src/crypto/jose/vendor/lib/epoch.ts +3 -0
  172. package/tdf3/src/crypto/jose/vendor/lib/is_object.ts +18 -0
  173. package/tdf3/src/crypto/jose/vendor/lib/jwt_claims_set.ts +106 -0
  174. package/tdf3/src/crypto/jose/vendor/lib/secs.ts +57 -0
  175. package/tdf3/src/crypto/jose/vendor/lib/validate_crit.ts +35 -0
  176. package/tdf3/src/crypto/jose/vendor/util/errors.ts +101 -0
  177. package/tdf3/src/crypto/jwt.ts +256 -0
  178. package/tdf3/src/crypto/salt.ts +16 -8
  179. package/tdf3/src/models/encryption-information.ts +14 -21
  180. package/tdf3/src/models/key-access.ts +57 -41
  181. package/tdf3/src/tdf.ts +110 -93
  182. package/tdf3/src/utils/index.ts +5 -6
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../tdf3/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AAClF,OAAO,EACL,KAAK,aAAa,EAClB,oBAAoB,EACpB,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,oBAAoB,EACzB,KAAK,uBAAuB,EAC5B,KAAK,oBAAoB,EACzB,KAAK,uBAAuB,EAC5B,oBAAoB,EACpB,KAAK,SAAS,EACf,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,KAAK,YAAY,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC7E,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,UAAU,EAChB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EACL,KAAK,OAAO,EACZ,QAAQ,EACR,KAAK,qBAAqB,EAC3B,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,KAAK,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC9F,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,KAAK,aAAa,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,KAAK,aAAa,EAAE,KAAK,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChG,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAElD,YAAY,EACV,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,OAAO,EACP,aAAa,EACb,aAAa,EACb,aAAa,EACb,UAAU,EACV,UAAU,EACV,oBAAoB,EACpB,uBAAuB,EACvB,oBAAoB,EACpB,uBAAuB,EACvB,SAAS,GACV,CAAC;AAEF,OAAO,EACL,YAAY,EACZ,UAAU,EACV,aAAa,EACb,MAAM,EACN,MAAM,EACN,YAAY,EACZ,uBAAuB,EACvB,aAAa,EACb,oBAAoB,EACpB,aAAa,EACb,qBAAqB,EACrB,aAAa,EACb,oBAAoB,EACpB,MAAM,EACN,WAAW,EACX,OAAO,EACP,QAAQ,EACR,UAAU,EACV,UAAU,EACV,iBAAiB,EACjB,WAAW,EACX,OAAO,GACR,CAAC;AAEF,OAAO,KAAK,gBAAgB,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,IAAI,EACT,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,OAAO,GACR,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../tdf3/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AAClF,OAAO,EACL,KAAK,aAAa,EAClB,oBAAoB,EACpB,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,oBAAoB,EACzB,KAAK,uBAAuB,EAC5B,KAAK,oBAAoB,EACzB,KAAK,uBAAuB,EAC5B,oBAAoB,EACpB,KAAK,SAAS,EACf,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,KAAK,YAAY,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC7E,OAAO,EACL,KAAK,0BAA0B,EAC/B,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,OAAO,EACZ,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,OAAO,EACZ,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,UAAU,EACf,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,KAAK,yBAAyB,EAC/B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EACL,KAAK,OAAO,EACZ,QAAQ,EACR,KAAK,qBAAqB,EAC3B,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,KAAK,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC9F,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,KAAK,aAAa,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,KAAK,aAAa,EAAE,KAAK,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChG,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAElD,YAAY,EACV,aAAa,EACb,YAAY,EACZ,0BAA0B,EAC1B,YAAY,EACZ,OAAO,EACP,aAAa,EACb,oBAAoB,EACpB,aAAa,EACb,uBAAuB,EACvB,OAAO,EACP,oBAAoB,EACpB,aAAa,EACb,uBAAuB,EACvB,aAAa,EACb,UAAU,EACV,UAAU,EACV,OAAO,EACP,UAAU,EACV,YAAY,EACZ,UAAU,EACV,UAAU,EACV,SAAS,EACT,aAAa,EACb,gBAAgB,EAChB,SAAS,EACT,YAAY,EACZ,yBAAyB,GAC1B,CAAC;AAEF,OAAO,EACL,YAAY,EACZ,UAAU,EACV,aAAa,EACb,MAAM,EACN,MAAM,EACN,YAAY,EACZ,uBAAuB,EACvB,aAAa,EACb,oBAAoB,EACpB,aAAa,EACb,qBAAqB,EACrB,aAAa,EACb,oBAAoB,EACpB,MAAM,EACN,WAAW,EACX,OAAO,EACP,QAAQ,EACR,UAAU,EACV,UAAU,EACV,iBAAiB,EACjB,WAAW,EACX,OAAO,GACR,CAAC;AAEF,OAAO,EAAE,oBAAoB,IAAI,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEjF,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,IAAI,EACT,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,OAAO,GACR,MAAM,mBAAmB,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { type CryptoService, type PrivateKey, type PublicKey, type SymmetricKey } from './crypto/declarations.js';
1
2
  export type AssertionKeyAlg = 'ES256' | 'RS256' | 'HS256';
2
3
  export type AssertionType = 'handling' | 'other';
3
4
  export type Scope = 'tdo' | 'payload';
@@ -27,28 +28,42 @@ export type AssertionPayload = {
27
28
  /**
28
29
  * Computes the SHA-256 hash of the assertion object, excluding the 'binding' and 'hash' properties.
29
30
  *
31
+ * @param a - The assertion to hash
32
+ * @param cryptoService - The crypto service to use for hashing
30
33
  * @returns the hexadecimal string representation of the hash
31
34
  */
32
- export declare function hash(a: Assertion): Promise<string>;
35
+ export declare function hash(a: Assertion, cryptoService: CryptoService): Promise<string>;
33
36
  export declare function isAssertionConfig(obj: unknown): obj is AssertionConfig;
34
37
  /**
35
38
  * Verifies the signature of the assertion using the provided key.
36
39
  *
37
- * @param {AssertionKey} key - The key used for verification.
38
- * @returns {Promise<[string, string]>} A promise that resolves to a tuple containing the assertion hash and signature.
39
- * @throws {Error} If the verification fails.
40
+ * @param thiz - The assertion to verify.
41
+ * @param aggregateHash - The aggregate hash for integrity checking.
42
+ * @param key - The key used for verification.
43
+ * @param isLegacyTDF - Whether this is a legacy TDF format.
44
+ * @param cryptoService - The crypto service to use for verification.
45
+ * @throws {InvalidFileError} If the verification fails.
46
+ * @throws {IntegrityError} If the integrity check fails.
40
47
  */
41
- export declare function verify(thiz: Assertion, aggregateHash: Uint8Array, key: AssertionKey, isLegacyTDF: boolean): Promise<void>;
48
+ export declare function verify(thiz: Assertion, aggregateHash: Uint8Array, key: AssertionKey, isLegacyTDF: boolean, cryptoService: CryptoService): Promise<void>;
42
49
  /**
43
50
  * Creates an Assertion object with the specified properties.
51
+ *
52
+ * @param aggregateHash - The aggregate hash for the assertion.
53
+ * @param assertionConfig - The configuration for the assertion.
54
+ * @param cryptoService - The crypto service to use for signing.
55
+ * @param targetVersion - The target TDF spec version.
56
+ * @returns The created assertion.
44
57
  */
58
+ export declare function CreateAssertion(aggregateHash: Uint8Array | string, assertionConfig: AssertionConfig, cryptoService: CryptoService, targetVersion?: string): Promise<Assertion>;
45
59
  /**
46
- * Creates an Assertion object with the specified properties.
60
+ * Key used for signing or verifying assertions.
61
+ * For asymmetric algorithms (RS256, ES256): PEM string, PrivateKey (for signing), or PublicKey (for verification).
62
+ * For symmetric algorithms (HS256): Uint8Array or SymmetricKey (opaque).
47
63
  */
48
- export declare function CreateAssertion(aggregateHash: Uint8Array | string, assertionConfig: AssertionConfig, targetVersion?: string): Promise<Assertion>;
49
64
  export type AssertionKey = {
50
65
  alg: AssertionKeyAlg;
51
- key: CryptoKey | Uint8Array;
66
+ key: string | Uint8Array | PrivateKey | PublicKey | SymmetricKey;
52
67
  };
53
68
  export type AssertionConfig = {
54
69
  id: string;
@@ -1 +1 @@
1
- {"version":3,"file":"assertions.d.ts","sourceRoot":"","sources":["../../../../tdf3/src/assertions.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;AAC1D,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,OAAO,CAAC;AACjD,MAAM,MAAM,KAAK,GAAG,KAAK,GAAG,SAAS,CAAC;AACtC,MAAM,MAAM,cAAc,GAAG,WAAW,GAAG,aAAa,CAAC;AACzD,MAAM,MAAM,aAAa,GAAG,KAAK,CAAC;AAGlC,MAAM,MAAM,SAAS,GAAG;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAGF,MAAM,MAAM,OAAO,GAAG;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAGF,MAAM,MAAM,SAAS,GAAG;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,aAAa,CAAC;IACpB,KAAK,EAAE,KAAK,CAAC;IACb,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,SAAS,EAAE,SAAS,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF;;;;GAIG;AACH,wBAAsB,IAAI,CAAC,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAOxD;AAiCD,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,eAAe,CAmBtE;AAED;;;;;;GAMG;AACH,wBAAsB,MAAM,CAC1B,IAAI,EAAE,SAAS,EACf,aAAa,EAAE,UAAU,EACzB,GAAG,EAAE,YAAY,EACjB,WAAW,EAAE,OAAO,GACnB,OAAO,CAAC,IAAI,CAAC,CA4Cf;AAED;;GAEG;AACH;;GAEG;AACH,wBAAsB,eAAe,CACnC,aAAa,EAAE,UAAU,GAAG,MAAM,EAClC,eAAe,EAAE,eAAe,EAChC,aAAa,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,SAAS,CAAC,CAyCpB;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,GAAG,EAAE,eAAe,CAAC;IACrB,GAAG,EAAE,SAAS,GAAG,UAAU,CAAC;CAC7B,CAAC;AAIF,MAAM,MAAM,eAAe,GAAG;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,aAAa,CAAC;IACpB,KAAK,EAAE,KAAK,CAAC;IACb,cAAc,EAAE,cAAc,CAAC;IAC/B,SAAS,EAAE,SAAS,CAAC;IACrB,UAAU,CAAC,EAAE,YAAY,CAAC;CAC3B,CAAC;AAGF,MAAM,MAAM,yBAAyB,GAAG;IACtC,UAAU,CAAC,EAAE,YAAY,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;CACpC,CAAC;AAcF;;GAEG;AACH,wBAAgB,gCAAgC,IAAI,eAAe,CA+BlE"}
1
+ {"version":3,"file":"assertions.d.ts","sourceRoot":"","sources":["../../../../tdf3/src/assertions.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,SAAS,EACd,KAAK,YAAY,EAClB,MAAM,0BAA0B,CAAC;AAGlC,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;AAC1D,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,OAAO,CAAC;AACjD,MAAM,MAAM,KAAK,GAAG,KAAK,GAAG,SAAS,CAAC;AACtC,MAAM,MAAM,cAAc,GAAG,WAAW,GAAG,aAAa,CAAC;AACzD,MAAM,MAAM,aAAa,GAAG,KAAK,CAAC;AAGlC,MAAM,MAAM,SAAS,GAAG;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAGF,MAAM,MAAM,OAAO,GAAG;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAGF,MAAM,MAAM,SAAS,GAAG;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,aAAa,CAAC;IACpB,KAAK,EAAE,KAAK,CAAC;IACb,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,SAAS,EAAE,SAAS,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF;;;;;;GAMG;AACH,wBAAsB,IAAI,CAAC,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAOtF;AA6DD,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,eAAe,CAmBtE;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,MAAM,CAC1B,IAAI,EAAE,SAAS,EACf,aAAa,EAAE,UAAU,EACzB,GAAG,EAAE,YAAY,EACjB,WAAW,EAAE,OAAO,EACpB,aAAa,EAAE,aAAa,GAC3B,OAAO,CAAC,IAAI,CAAC,CAyDf;AAED;;;;;;;;GAQG;AACH,wBAAsB,eAAe,CACnC,aAAa,EAAE,UAAU,GAAG,MAAM,EAClC,eAAe,EAAE,eAAe,EAChC,aAAa,EAAE,aAAa,EAC5B,aAAa,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,SAAS,CAAC,CAyCpB;AAQD;;;;GAIG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,GAAG,EAAE,eAAe,CAAC;IACrB,GAAG,EAAE,MAAM,GAAG,UAAU,GAAG,UAAU,GAAG,SAAS,GAAG,YAAY,CAAC;CAClE,CAAC;AAIF,MAAM,MAAM,eAAe,GAAG;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,aAAa,CAAC;IACpB,KAAK,EAAE,KAAK,CAAC;IACb,cAAc,EAAE,cAAc,CAAC;IAC/B,SAAS,EAAE,SAAS,CAAC;IACrB,UAAU,CAAC,EAAE,YAAY,CAAC;CAC3B,CAAC;AAGF,MAAM,MAAM,yBAAyB,GAAG;IACtC,UAAU,CAAC,EAAE,YAAY,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;CACpC,CAAC;AAcF;;GAEG;AACH,wBAAgB,gCAAgC,IAAI,eAAe,CA+BlE"}
@@ -1,6 +1,6 @@
1
1
  import { Binary } from '../binary.js';
2
2
  import { SymmetricCipher } from './symmetric-cipher-base.js';
3
- import { type CryptoService, type DecryptResult, type EncryptResult } from '../crypto/declarations.js';
3
+ import { type CryptoService, type DecryptResult, type EncryptResult, type SymmetricKey } from '../crypto/declarations.js';
4
4
  export declare class AesGcmCipher extends SymmetricCipher {
5
5
  constructor(cryptoService: CryptoService);
6
6
  /**
@@ -8,11 +8,11 @@ export declare class AesGcmCipher extends SymmetricCipher {
8
8
  * result from the crypto service and construct the payload automatically from
9
9
  * it's parts. There is no need to process the payload.
10
10
  */
11
- encrypt(payload: Binary, key: Binary, iv: Binary): Promise<EncryptResult>;
11
+ encrypt(payload: Binary, key: SymmetricKey, iv: Binary): Promise<EncryptResult>;
12
12
  /**
13
13
  * Encrypts the payload using AES w/ CBC mode
14
14
  * @returns
15
15
  */
16
- decrypt(buffer: ArrayBuffer, key: Binary, iv?: Binary): Promise<DecryptResult>;
16
+ decrypt(buffer: ArrayBuffer, key: SymmetricKey, iv?: Binary): Promise<DecryptResult>;
17
17
  }
18
18
  //# sourceMappingURL=aes-gcm-cipher.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"aes-gcm-cipher.d.ts","sourceRoot":"","sources":["../../../../../tdf3/src/ciphers/aes-gcm-cipher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAG7D,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,aAAa,EACnB,MAAM,2BAA2B,CAAC;AAyBnC,qBAAa,YAAa,SAAQ,eAAe;gBACnC,aAAa,EAAE,aAAa;IAOxC;;;;OAIG;IACY,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAYxF;;;OAGG;IAEY,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;CAW9F"}
1
+ {"version":3,"file":"aes-gcm-cipher.d.ts","sourceRoot":"","sources":["../../../../../tdf3/src/ciphers/aes-gcm-cipher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAG7D,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,YAAY,EAClB,MAAM,2BAA2B,CAAC;AAyBnC,qBAAa,YAAa,SAAQ,eAAe;gBACnC,aAAa,EAAE,aAAa;IAOxC;;;;OAIG;IACY,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAY9F;;;OAGG;IAEY,OAAO,CACpB,MAAM,EAAE,WAAW,EACnB,GAAG,EAAE,YAAY,EACjB,EAAE,CAAC,EAAE,MAAM,GACV,OAAO,CAAC,aAAa,CAAC;CAW1B"}
@@ -1,5 +1,5 @@
1
1
  import { type Binary } from '../binary.js';
2
- import { type CryptoService, type DecryptResult, type EncryptResult } from '../crypto/declarations.js';
2
+ import { type CryptoService, type DecryptResult, type EncryptResult, type SymmetricKey } from '../crypto/declarations.js';
3
3
  export declare abstract class SymmetricCipher {
4
4
  cryptoService: CryptoService;
5
5
  name?: string;
@@ -7,8 +7,8 @@ export declare abstract class SymmetricCipher {
7
7
  keyLength?: number;
8
8
  constructor(cryptoService: CryptoService);
9
9
  generateInitializationVector(): Promise<string>;
10
- generateKey(): Promise<string>;
11
- abstract encrypt(payload: Binary, key: Binary, iv: Binary): Promise<EncryptResult>;
12
- abstract decrypt(payload: Uint8Array, key: Binary, iv?: Binary): Promise<DecryptResult>;
10
+ generateKey(): Promise<SymmetricKey>;
11
+ abstract encrypt(payload: Binary, key: SymmetricKey, iv: Binary): Promise<EncryptResult>;
12
+ abstract decrypt(payload: Uint8Array, key: SymmetricKey, iv?: Binary): Promise<DecryptResult>;
13
13
  }
14
14
  //# sourceMappingURL=symmetric-cipher-base.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"symmetric-cipher-base.d.ts","sourceRoot":"","sources":["../../../../../tdf3/src/ciphers/symmetric-cipher-base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,aAAa,EACnB,MAAM,2BAA2B,CAAC;AAEnC,8BAAsB,eAAe;IACnC,aAAa,EAAE,aAAa,CAAC;IAE7B,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,SAAS,CAAC,EAAE,MAAM,CAAC;gBAEP,aAAa,EAAE,aAAa;IAIlC,4BAA4B,IAAI,OAAO,CAAC,MAAM,CAAC;IAO/C,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC;IAOpC,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAElF,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;CACxF"}
1
+ {"version":3,"file":"symmetric-cipher-base.d.ts","sourceRoot":"","sources":["../../../../../tdf3/src/ciphers/symmetric-cipher-base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,YAAY,EAClB,MAAM,2BAA2B,CAAC;AAGnC,8BAAsB,eAAe;IACnC,aAAa,EAAE,aAAa,CAAC;IAE7B,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,SAAS,CAAC,EAAE,MAAM,CAAC;gBAEP,aAAa,EAAE,aAAa;IAIlC,4BAA4B,IAAI,OAAO,CAAC,MAAM,CAAC;IAQ/C,WAAW,IAAI,OAAO,CAAC,YAAY,CAAC;IAO1C,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAExF,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,YAAY,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;CAC9F"}
@@ -1,7 +1,7 @@
1
1
  import { AttributeObject, KeyInfo, Policy } from '../models/index.js';
2
2
  import { type Metadata } from '../tdf.js';
3
3
  import { Binary } from '../binary.js';
4
- import { PemKeyPair } from '../crypto/declarations.js';
4
+ import { PemKeyPair, type SymmetricKey } from '../crypto/declarations.js';
5
5
  import { DecoratedReadableStream } from './DecoratedReadableStream.js';
6
6
  import { type Chunker } from '../../../src/seekable.js';
7
7
  import { AssertionConfig, AssertionVerificationKeys } from '../assertions.js';
@@ -302,7 +302,7 @@ declare class EncryptParamsBuilder {
302
302
  */
303
303
  withSystemMetadataAssertion(systemMetadataAssertion: boolean): EncryptParamsBuilder;
304
304
  }
305
- export type DecryptKeyMiddleware = (key: Binary) => Promise<Binary>;
305
+ export type DecryptKeyMiddleware = (key: SymmetricKey) => Promise<SymmetricKey>;
306
306
  export type DecryptStreamMiddleware = (stream: DecoratedReadableStream) => Promise<DecoratedReadableStream>;
307
307
  export type DecryptSource = {
308
308
  type: 'buffer';
@@ -1 +1 @@
1
- {"version":3,"file":"builders.d.ts","sourceRoot":"","sources":["../../../../../tdf3/src/client/builders.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACtE,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAGtC,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAC9E,OAAO,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEhF,eAAO,MAAM,oBAAoB,EAAE,MAAoB,CAAC;AACxD,MAAM,MAAM,KAAK,GAAG;IAClB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,CAAC,MAAM,GAAG,eAAe,CAAC,EAAE,CAAC;IAC1C,eAAe,CAAC,EAAE,KAAK,EAAE,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC;IACjE,gBAAgB,EAAE,OAAO,CAAC;IAC1B,cAAc,EAAE,OAAO,CAAC;CACzB,CAAC,CAAC;AAEH,MAAM,MAAM,uBAAuB,GAAG,CACpC,MAAM,EAAE,uBAAuB,KAC5B,OAAO,CAAC,uBAAuB,CAAC,CAAC;AAEtC,MAAM,MAAM,SAAS,GAAG;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC;IACnC,IAAI,CAAC,EAAE;QAAE,OAAO,EAAE,UAAU,CAAA;KAAE,CAAC;IAC/B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,KAAK,CAAC,UAAU,CAAC,CAAC;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,oBAAoB,CAAC;IACrC,SAAS,CAAC,EAAE,SAAS,EAAE,CAAC;IACxB,gBAAgB,CAAC,EAAE,uBAAuB,CAAC;IAC3C,gBAAgB,CAAC,EAAE,eAAe,EAAE,CAAC;IACrC,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAG5B,oBAAoB,CAAC,EAAE,qBAAqB,CAAC;IAG7C,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AASF;;;GAGG;AACH,cAAM,oBAAoB;IACxB,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;gBAG9B,MAAM,GAAE,OAAO,CAAC,aAAa,CAQ5B;IAKH,eAAe,IAAI,aAAa,CAAC,QAAQ,CAAC,GAAG,SAAS;IAItD;;;OAGG;IACH,eAAe,CAAC,UAAU,EAAE,cAAc,CAAC,UAAU,CAAC;IAStD;;;;OAIG;IACH,gBAAgB,CAAC,UAAU,EAAE,cAAc,CAAC,UAAU,CAAC,GAAG,oBAAoB;IAW9E;;;OAGG;IACH,eAAe,CAAC,MAAM,EAAE,MAAM;IAa9B;;;;OAIG;IACH,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,oBAAoB;IAKtD;;;;OAIG;IACH,iBAAiB,CAAC,OAAO,GAAE,OAAc;IAKzC;;;OAGG;IACH,eAAe,CAAC,GAAG,EAAE,WAAW;IAUhC;;;OAGG;IACH,gBAAgB,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI;IAKxC;;;;;;;;OAQG;IACH,oBAAoB,CAAC,WAAW,EAAE,WAAW;IAI7C;;;;;OAKG;IACH,qBAAqB,CAAC,WAAW,EAAE,WAAW,GAAG,oBAAoB;IAKrE,aAAa,IAAI,KAAK,CAAC,YAAY,CAAC;IAIpC;;OAEG;IACH,aAAa,CAAC,UAAU,CAAC,EAAE,CAAC,MAAM,GAAG,eAAe,CAAC,EAAE;IAwBvD;;;;OAIG;IACH,cAAc,CAAC,UAAU,EAAE,KAAK,CAAC,YAAY,CAAC,GAAG,oBAAoB;IAKrE;;;OAGG;IACH,kBAAkB,IAAI,KAAK,CAAC,QAAQ,CAAC;IAIrC;;;OAGG;IACH,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE;IAQlC;;;;;OAKG;IACH,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,oBAAoB;IAK1D;;;;;OAKG;IACH,WAAW,IAAI,aAAa,CAAC,UAAU,CAAC;IAIxC;;;;;OAKG;IACH,WAAW,CAAC,QAAQ,EAAE,aAAa,CAAC,UAAU,CAAC;IAI/C;;;;;;;OAOG;IACH,YAAY,CAAC,QAAQ,EAAE,aAAa,CAAC,UAAU,CAAC;IAKhD,WAAW,IAAI,MAAM,GAAG,SAAS;IAIjC,WAAW,CAAC,QAAQ,EAAE,MAAM;IAQ5B,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,oBAAoB;IAKpD,QAAQ,IAAI,OAAO;IAInB,SAAS;IAIT,UAAU;IAIV,WAAW,IAAI,oBAAoB;IAKnC,UAAU,IAAI,oBAAoB;IAKlC;;;;;;;;OAQG;IACH,mBAAmB,IAAI,MAAM,GAAG,SAAS;IAIzC;;;;;;;;OAQG;IACH,mBAAmB,CAAC,QAAQ,EAAE,MAAM;IAOpC;;;;;;;;;OASG;IACH,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,oBAAoB;IAK5D;;OAEG;IACH,aAAa,IAAI,OAAO;IAIxB;;OAEG;IACH,aAAa;IAIb;;OAEG;IACH,cAAc,IAAI,oBAAoB;IAItC;;;;;;OAMG;IACH,YAAY,IAAI,OAAO;IAIvB;;;;;OAKG;IACH,YAAY;IAIZ;;;;;;OAMG;IACH,aAAa,IAAI,oBAAoB;IAKrC;;OAEG;IACH,WAAW,IAAI,MAAM,GAAG,SAAS;IAIjC;;;;OAIG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM;IAI5B;;;;OAIG;IACH,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,oBAAoB;IAKpD,SAAS,CAAC,OAAO,EAAE,aAAa;;oBA1bpB,MAAM;gBACV,cAAc,CAAC,UAAU,CAAC;eAC3B;YAAE,OAAO,EAAE,UAAU,CAAA;SAAE;wBACd,OAAO;gBACf,KAAK;mBACF,QAAQ;kBACT,aAAa;qBACV,MAAM;mBAER,MAAM;qBACJ,MAAM;wBACH,oBAAoB;oBACxB,SAAS,EAAE;2BACJ,uBAAuB;2BACvB,eAAe,EAAE;kCACV,OAAO;6BACZ,MAAM;+BAGJ,qBAAqB;iBAGnC,OAAO;kBAEN,OAAO;yBAEA,MAAM;;IAoavB;;;;OAIG;IACH,KAAK,IAAI,QAAQ,CAAC,aAAa,CAAC;IAIhC;;;;;OAKG;IACH,cAAc,CAAC,gBAAgB,EAAE,eAAe,EAAE,GAAG,oBAAoB;IAKzE;;;;;;;OAOG;IACH,2BAA2B,CAAC,uBAAuB,EAAE,OAAO,GAAG,oBAAoB;CAIpF;AAED,MAAM,MAAM,oBAAoB,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;AAEpE,MAAM,MAAM,uBAAuB,GAAG,CACpC,MAAM,EAAE,uBAAuB,KAC5B,OAAO,CAAC,uBAAuB,CAAC,CAAC;AAEtC,MAAM,MAAM,aAAa,GACrB;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,EAAE,UAAU,CAAA;CAAE,GACxC;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,GACtC;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GACpC;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,EAAE,cAAc,CAAC,UAAU,CAAC,CAAA;CAAE,GACxD;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,QAAQ,EAAE,IAAI,CAAA;CAAE,CAAC;AAE7C,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,EAAE,aAAa,CAAC;IACtB,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,aAAa,CAAC,EAAE,oBAAoB,CAAC;IACrC,gBAAgB,CAAC,EAAE,uBAAuB,CAAC;IAC3C,yBAAyB,CAAC,EAAE,yBAAyB,CAAC;IACtD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,oBAAoB,CAAC,EAAE,qBAAqB,CAAC;IAC7C,yBAAyB,CAAC,EAAE,MAAM,EAAE,CAAC;CACtC,CAAC;AAEF;;;;;;;;;;;;;;;;GAgBG;AACH,cAAM,oBAAoB;IACxB,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;gBAEpB,OAAO,GAAE,OAAO,CAAC,aAAa,CAAM;IAMhD,eAAe,IAAI,aAAa,GAAG,SAAS;IAI5C;;;OAGG;IACH,eAAe,CAAC,MAAM,EAAE,UAAU;IAIlC;;;OAGG;IACH,gBAAgB,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;IAK1C;;;;OAIG;IACH,YAAY,CAAC,GAAG,EAAE,MAAM;IAOxB;;;;OAIG;IACH,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAKhC;;;OAGG;IACH,eAAe,CAAC,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC;IAIlD;;;OAGG;IACH,gBAAgB,CAAC,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,GAAG,IAAI;IAW1D;;;OAGG;IACH,eAAe,CAAC,MAAM,EAAE,MAAM;IAI9B;;;;OAIG;IACH,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAKtC;;;;OAIG;IACH,aAAa,CAAC,MAAM,EAAE,IAAI;IAO1B;;;;OAIG;IACH,cAAc,CAAC,MAAM,EAAE,IAAI,GAAG,IAAI;IAKlC;;;;;;;;OAQG;IACH,oBAAoB,CAAC,WAAW,EAAE,WAAW;IAI7C;;;;;OAKG;IACH,qBAAqB,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI;IAKrD,kCAAkC;IAClC,sBAAsB,CAAC,CAAC,EAAE,OAAO,GAAG,oBAAoB;IAKxD;;;;;OAKG;IACH,6BAA6B,CAC3B,yBAAyB,EAAE,yBAAyB,GACnD,oBAAoB;IAKvB,SAAS,CAAC,OAAO,EAAE,aAAa;gBA1LxB,aAAa;oBACT,eAAe;wBACX,oBAAoB;2BACjB,uBAAuB;oCACd,yBAAyB;2BAClC,MAAM;6BACJ,OAAO;+BACL,qBAAqB;oCAChB,MAAM,EAAE;;IAsLpC,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,oBAAoB;IAKzD;;;;OAIG;IACH,KAAK,IAAI,QAAQ,CAAC,aAAa,CAAC;CAMjC;AAED,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,CAAC"}
1
+ {"version":3,"file":"builders.d.ts","sourceRoot":"","sources":["../../../../../tdf3/src/client/builders.ts"],"names":[],"mappings":"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"}
@@ -4,12 +4,13 @@ import { type AuthProvider, HttpRequest, withHeaders } from '../../../src/auth/a
4
4
  import { type DecryptParams, DecryptParamsBuilder, type DecryptSource, type EncryptParams, EncryptParamsBuilder } from './builders.js';
5
5
  import { DecoratedReadableStream } from './DecoratedReadableStream.js';
6
6
  import { type KasPublicKeyInfo, OriginAllowList } from '../../../src/access.js';
7
- export declare const resolveKasInfo: (pem: string, uri: string, kid?: string) => Promise<KasPublicKeyInfo>;
7
+ import { type KeyPair } from '../crypto/declarations.js';
8
+ export declare const resolveKasInfo: (pem: string, uri: string, cryptoService: CryptoService, kid?: string) => Promise<KasPublicKeyInfo>;
8
9
  export interface ClientConfig {
9
10
  cryptoService?: CryptoService;
10
11
  clientId?: string;
11
12
  dpopEnabled?: boolean;
12
- dpopKeys?: Promise<CryptoKeyPair>;
13
+ dpopKeys?: Promise<KeyPair>;
13
14
  kasEndpoint: string;
14
15
  /**
15
16
  * Service to use to look up ABAC. Used during autoconfigure. Defaults to
@@ -45,8 +46,8 @@ export interface ClientConfig {
45
46
  export declare function createSessionKeys({ authProvider, cryptoService, dpopKeys, }: {
46
47
  authProvider?: AuthProvider;
47
48
  cryptoService: CryptoService;
48
- dpopKeys?: Promise<CryptoKeyPair>;
49
- }): Promise<CryptoKeyPair>;
49
+ dpopKeys?: Promise<KeyPair>;
50
+ }): Promise<KeyPair>;
50
51
  type KasKeyInfoCache = [
51
52
  ...Parameters<typeof fetchKasPublicKey>,
52
53
  keyInfoPromise: ReturnType<typeof fetchKasPublicKey>
@@ -88,7 +89,7 @@ export declare class Client {
88
89
  /**
89
90
  * Session binding keys. Used for DPoP and signed request bodies.
90
91
  */
91
- readonly dpopKeys: Promise<CryptoKeyPair>;
92
+ readonly dpopKeys: Promise<KeyPair>;
92
93
  readonly dpopEnabled: boolean;
93
94
  readonly clientConfig: ClientConfig;
94
95
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../tdf3/src/client/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../tdf3/src/client/index.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { type AnyKeyPair, type PemKeyPair } from './declarations.js';
1
+ import { type PemKeyPair } from './declarations.js';
2
2
  /**
3
3
  * Validates a specified key size
4
4
  * @param size in bits requested
@@ -28,7 +28,17 @@ export declare const formatAsPem: (bytes: ArrayBuffer, label: string) => string;
28
28
  * @return String with formatting removed
29
29
  */
30
30
  export declare const removePemFormatting: (input: string) => string;
31
- export declare const isPemKeyPair: (i: AnyKeyPair) => i is PemKeyPair;
32
- export declare const isCryptoKeyPair: (i: AnyKeyPair) => i is CryptoKeyPair;
33
- export declare const toCryptoKeyPair: (input: AnyKeyPair) => Promise<CryptoKeyPair>;
31
+ /**
32
+ * Type guard to check if a key pair is a PemKeyPair.
33
+ */
34
+ export declare const isPemKeyPair: (i: PemKeyPair | CryptoKeyPair) => i is PemKeyPair;
35
+ /**
36
+ * Type guard to check if a key pair is a CryptoKeyPair.
37
+ */
38
+ export declare const isCryptoKeyPair: (i: PemKeyPair | CryptoKeyPair) => i is CryptoKeyPair;
39
+ /**
40
+ * Convert a PemKeyPair to CryptoKeyPair for internal use.
41
+ * This is needed when interfacing with APIs that still require CryptoKey objects.
42
+ */
43
+ export declare const toCryptoKeyPair: (input: PemKeyPair) => Promise<CryptoKeyPair>;
34
44
  //# sourceMappingURL=crypto-utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"crypto-utils.d.ts","sourceRoot":"","sources":["../../../../../tdf3/src/crypto/crypto-utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAGrE;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,GAAI,MAAM,MAAM,GAAG,SAAS,EAAE,UAAU,MAAM,KAAG,OAWrF,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,WAAW,GAAI,OAAO,WAAW,EAAE,OAAO,MAAM,KAAG,MAc/D,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,GAAI,OAAO,MAAM,KAAG,MAWnD,CAAC;AAKF,eAAO,MAAM,YAAY,GAAI,GAAG,UAAU,KAAG,CAAC,IAAI,UAcjD,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,GAAG,UAAU,KAAG,CAAC,IAAI,aASpD,CAAC;AAEF,eAAO,MAAM,eAAe,GAAU,OAAO,UAAU,KAAG,OAAO,CAAC,aAAa,CAgB9E,CAAC"}
1
+ {"version":3,"file":"crypto-utils.d.ts","sourceRoot":"","sources":["../../../../../tdf3/src/crypto/crypto-utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAGpD;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,GAAI,MAAM,MAAM,GAAG,SAAS,EAAE,UAAU,MAAM,KAAG,OAWrF,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,WAAW,GAAI,OAAO,WAAW,EAAE,OAAO,MAAM,KAAG,MAc/D,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,GAAI,OAAO,MAAM,KAAG,MAWnD,CAAC;AAKF;;GAEG;AACH,eAAO,MAAM,YAAY,GAAI,GAAG,UAAU,GAAG,aAAa,KAAG,CAAC,IAAI,UAcjE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,GAAI,GAAG,UAAU,GAAG,aAAa,KAAG,CAAC,IAAI,aASpE,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,eAAe,GAAU,OAAO,UAAU,KAAG,OAAO,CAAC,aAAa,CAa9E,CAAC"}
@@ -11,50 +11,315 @@ export type DecryptResult = {
11
11
  };
12
12
  /**
13
13
  * PEM formatted keypair.
14
+ * Used for import/export compatibility. Internal code should use KeyPair (opaque keys).
14
15
  */
15
16
  export type PemKeyPair = {
16
17
  publicKey: string;
17
18
  privateKey: string;
18
19
  };
20
+ /**
21
+ * Key algorithm identifier combining key type and parameters.
22
+ */
23
+ export type KeyAlgorithm = 'rsa:2048' | 'rsa:4096' | 'ec:secp256r1' | 'ec:secp384r1' | 'ec:secp521r1';
24
+ /**
25
+ * Options for key generation and import.
26
+ */
27
+ export type KeyOptions = {
28
+ /**
29
+ * Key usage: 'encrypt' for RSA-OAEP, 'sign' for RSA/ECDSA signing, 'derive' for ECDH.
30
+ * If not specified, defaults based on the generation method or key type.
31
+ */
32
+ usage?: 'encrypt' | 'sign' | 'derive';
33
+ /**
34
+ * Whether keys can be exported. Defaults to true.
35
+ * HSM-backed implementations may force false for private keys.
36
+ */
37
+ extractable?: boolean;
38
+ /**
39
+ * Optional algorithm hint for import validation.
40
+ * Helps disambiguate or validate imported keys.
41
+ */
42
+ algorithmHint?: KeyAlgorithm;
43
+ };
44
+ /**
45
+ * Opaque public key - internal representation hidden.
46
+ * Code outside CryptoService treats this as a token.
47
+ *
48
+ * Includes metadata for algorithm selection without needing CryptoService calls.
49
+ */
50
+ export type PublicKey = {
51
+ readonly _brand: 'PublicKey';
52
+ /** Algorithm identifier (e.g., 'rsa:2048', 'ec:secp256r1') */
53
+ readonly algorithm: KeyAlgorithm;
54
+ /** RSA modulus bit length (only for RSA keys) */
55
+ readonly modulusBits?: number;
56
+ /** EC curve name (only for EC keys) */
57
+ readonly curve?: ECCurve;
58
+ };
59
+ /**
60
+ * Opaque private key - internal representation hidden.
61
+ * Code outside CryptoService treats this as a token.
62
+ *
63
+ * Includes metadata for algorithm selection without needing CryptoService calls.
64
+ */
65
+ export type PrivateKey = {
66
+ readonly _brand: 'PrivateKey';
67
+ /** Algorithm identifier (e.g., 'rsa:2048', 'ec:secp256r1') */
68
+ readonly algorithm: KeyAlgorithm;
69
+ /** RSA modulus bit length (only for RSA keys) */
70
+ readonly modulusBits?: number;
71
+ /** EC curve name (only for EC keys) */
72
+ readonly curve?: ECCurve;
73
+ };
74
+ /**
75
+ * Opaque key pair with matching algorithms.
76
+ */
77
+ export type KeyPair = {
78
+ readonly publicKey: PublicKey;
79
+ readonly privateKey: PrivateKey;
80
+ };
19
81
  /**
20
82
  * The minimum acceptable asymetric key size, currently 2^11.
21
83
  */
22
84
  export declare const MIN_ASYMMETRIC_KEY_SIZE_BITS = 2048;
23
- export type AnyKeyPair = PemKeyPair | CryptoKeyPair;
85
+ /**
86
+ * Opaque symmetric key - internal representation hidden.
87
+ * Code outside CryptoService treats this as a token.
88
+ * Used for AES encryption/decryption.
89
+ *
90
+ * Includes metadata for key length without needing CryptoService calls.
91
+ */
92
+ export type SymmetricKey = {
93
+ readonly _brand: 'SymmetricKey';
94
+ /** Key length in bits (e.g., 256 for AES-256) */
95
+ readonly length: number;
96
+ };
97
+ /**
98
+ * Elliptic curves supported for ECDH/ECDSA operations.
99
+ */
100
+ export type ECCurve = 'P-256' | 'P-384' | 'P-521';
101
+ /**
102
+ * Asymmetric signing algorithms (require PEM keys).
103
+ */
104
+ export type AsymmetricSigningAlgorithm = 'RS256' | 'ES256' | 'ES384' | 'ES512';
105
+ /**
106
+ * Symmetric signing algorithm (requires raw key bytes).
107
+ */
108
+ export type SymmetricSigningAlgorithm = 'HS256';
109
+ /**
110
+ * All supported signing algorithms.
111
+ */
112
+ export type SigningAlgorithm = AsymmetricSigningAlgorithm | SymmetricSigningAlgorithm;
113
+ /**
114
+ * Supported hash algorithms.
115
+ */
116
+ export type HashAlgorithm = 'SHA-256' | 'SHA-384' | 'SHA-512';
117
+ /**
118
+ * Parameters for HKDF key derivation.
119
+ */
120
+ export type HkdfParams = {
121
+ /** Hash algorithm to use for HKDF. */
122
+ hash: HashAlgorithm;
123
+ /** Salt for HKDF (can be empty Uint8Array). */
124
+ salt: Uint8Array;
125
+ /** Optional info/context for HKDF. */
126
+ info?: Uint8Array;
127
+ /** Desired key length in bits. Defaults to 256. */
128
+ keyLength?: number;
129
+ };
130
+ /**
131
+ * Public key information returned from parsePublicKeyPem.
132
+ */
133
+ export type PublicKeyInfo = {
134
+ /** Detected algorithm of the key. */
135
+ algorithm: 'rsa:2048' | 'rsa:4096' | 'ec:secp256r1' | 'ec:secp384r1' | 'ec:secp521r1';
136
+ /** Normalized PEM string. */
137
+ pem: string;
138
+ };
24
139
  export type CryptoService = {
25
140
  /** Track which crypto implementation we are using */
26
141
  name: string;
27
142
  /** Default algorithm identifier. */
28
143
  method: AlgorithmUrn;
29
- /** Convert or narrow from AnyKeyPair to PemKeyPair */
30
- cryptoToPemPair: (keys: AnyKeyPair) => Promise<PemKeyPair>;
31
144
  /**
32
145
  * Try to decrypt content with the default or handed algorithm. Throws on
33
146
  * most failure, if auth tagging is implemented for example.
34
147
  */
35
- decrypt: (payload: Binary, key: Binary, iv: Binary, algorithm?: AlgorithmUrn, authTag?: Binary) => Promise<DecryptResult>;
36
- decryptWithPrivateKey: (encryptedPayload: Binary, privateKey: string) => Promise<Binary>;
148
+ decrypt: (payload: Binary, key: SymmetricKey, iv: Binary, algorithm?: AlgorithmUrn, authTag?: Binary) => Promise<DecryptResult>;
149
+ decryptWithPrivateKey: (encryptedPayload: Binary, privateKey: PrivateKey) => Promise<Binary>;
37
150
  /**
38
151
  * Encrypt content with the default or handed algorithm.
152
+ * Accepts Binary or SymmetricKey as payload (for key wrapping with symmetric keys).
39
153
  */
40
- encrypt: (payload: Binary, key: Binary, iv: Binary, algorithm?: AlgorithmUrn) => Promise<EncryptResult>;
41
- encryptWithPublicKey: (payload: Binary, publicKey: string) => Promise<Binary>;
42
- /** Get length random bytes as a hex-encoded string. */
43
- generateInitializationVector: (length?: number) => Promise<string>;
44
- /** Get length random bytes as a hex-encoded string. */
45
- generateKey: (length?: number) => Promise<string>;
154
+ encrypt: (payload: Binary | SymmetricKey, key: SymmetricKey, iv: Binary, algorithm?: AlgorithmUrn) => Promise<EncryptResult>;
46
155
  /**
47
- * Generate an RSA key pair
156
+ * Encrypt with asymmetric public key (RSA-OAEP).
157
+ * Accepts Binary or SymmetricKey for key wrapping.
158
+ */
159
+ encryptWithPublicKey: (payload: Binary | SymmetricKey, publicKey: PublicKey) => Promise<Binary>;
160
+ /** Generate symmetric AES key (opaque, never hex string). */
161
+ generateKey: (length?: number) => Promise<SymmetricKey>;
162
+ /**
163
+ * Generate an RSA key pair for encryption/decryption.
48
164
  * @param size in bits, defaults to a reasonable size for the default method
165
+ * @returns Opaque key pair
49
166
  */
50
- generateKeyPair: (size?: number) => Promise<AnyKeyPair>;
51
- generateSigningKeyPair: () => Promise<AnyKeyPair>;
167
+ generateKeyPair: (size?: number) => Promise<KeyPair>;
52
168
  /**
53
- * Create an HMAC SHA256 hash
169
+ * Generate an RSA key pair for signing/verification.
170
+ * @returns Opaque key pair
54
171
  */
55
- hmac: (key: string, content: string) => Promise<string>;
172
+ generateSigningKeyPair: () => Promise<KeyPair>;
56
173
  randomBytes: (byteLength: number) => Promise<Uint8Array>;
57
- /** Compute the hex-encoded SHA hash of a UTF-16 encoded string. */
58
- sha256: (content: string) => Promise<string>;
174
+ /**
175
+ * Sign data with an asymmetric private key.
176
+ * @param data - Data to sign
177
+ * @param privateKey - Opaque private key
178
+ * @param algorithm - Signing algorithm (RS256, ES256, ES384, ES512)
179
+ */
180
+ sign: (data: Uint8Array, privateKey: PrivateKey, algorithm: AsymmetricSigningAlgorithm) => Promise<Uint8Array>;
181
+ /**
182
+ * Verify signature with an asymmetric public key.
183
+ * @param data - Original data that was signed
184
+ * @param signature - Signature to verify
185
+ * @param publicKey - Opaque public key
186
+ * @param algorithm - Must match algorithm used for signing
187
+ */
188
+ verify: (data: Uint8Array, signature: Uint8Array, publicKey: PublicKey, algorithm: AsymmetricSigningAlgorithm) => Promise<boolean>;
189
+ /**
190
+ * Compute HMAC-SHA256 of data with a symmetric key.
191
+ * @param data - Data to authenticate
192
+ * @param key - Opaque symmetric key
193
+ * @returns Raw HMAC bytes
194
+ */
195
+ hmac: (data: Uint8Array, key: SymmetricKey) => Promise<Uint8Array>;
196
+ /**
197
+ * Verify HMAC-SHA256.
198
+ * @param data - Original data that was authenticated
199
+ * @param signature - HMAC to verify
200
+ * @param key - Opaque symmetric key
201
+ */
202
+ verifyHmac: (data: Uint8Array, signature: Uint8Array, key: SymmetricKey) => Promise<boolean>;
203
+ /**
204
+ * Compute hash digest.
205
+ * @param algorithm - Hash algorithm to use (SHA-256, SHA-384, SHA-512)
206
+ * @param data - Data to hash
207
+ */
208
+ digest: (algorithm: HashAlgorithm, data: Uint8Array) => Promise<Uint8Array>;
209
+ /**
210
+ * Generate an EC key pair for ECDH key agreement.
211
+ * @param curve - Elliptic curve to use (defaults to P-256)
212
+ * @throws ConfigurationError if EC operations not supported
213
+ */
214
+ generateECKeyPair: (curve?: ECCurve) => Promise<KeyPair>;
215
+ /**
216
+ * Perform ECDH key agreement followed by HKDF key derivation.
217
+ * Returns opaque symmetric key suitable for symmetric encryption.
218
+ *
219
+ * @param privateKey - Opaque EC private key
220
+ * @param publicKey - Opaque EC public key of other party
221
+ * @param hkdfParams - Parameters for HKDF derivation
222
+ * @returns Opaque symmetric key
223
+ * @throws ConfigurationError if EC operations not supported
224
+ */
225
+ deriveKeyFromECDH: (privateKey: PrivateKey, publicKey: PublicKey, hkdfParams: HkdfParams) => Promise<SymmetricKey>;
226
+ /**
227
+ * Import a PEM public key as an opaque key.
228
+ * @param pem - PEM-encoded public key
229
+ * @param options - Import options (usage required for RSA keys to disambiguate encrypt vs sign)
230
+ * @returns Opaque public key with metadata
231
+ */
232
+ importPublicKey: (pem: string, options: KeyOptions) => Promise<PublicKey>;
233
+ /**
234
+ * Import a PEM private key as an opaque key.
235
+ * Optional - intended for use in tests or by downstream integrators who need to bring
236
+ * their own PEM key material. Main SDK code should use opaque PrivateKey objects directly.
237
+ * @param pem - PEM-encoded private key
238
+ * @param options - Import options (usage required for RSA keys to disambiguate encrypt vs sign)
239
+ * @returns Opaque private key with metadata
240
+ */
241
+ importPrivateKey?: (pem: string, options: KeyOptions) => Promise<PrivateKey>;
242
+ /**
243
+ * Parse and validate a PEM public key, returning algorithm info.
244
+ *
245
+ * @param pem - PEM-encoded public key or X.509 certificate
246
+ * @returns Validated PEM and detected algorithm
247
+ * @throws ConfigurationError if key format invalid or algorithm not supported
248
+ */
249
+ parsePublicKeyPem: (pem: string) => Promise<PublicKeyInfo>;
250
+ /**
251
+ * Export an opaque public key to PEM format.
252
+ * @param key - Opaque public key
253
+ * @returns PEM-encoded public key (SPKI format)
254
+ */
255
+ exportPublicKeyPem: (key: PublicKey) => Promise<string>;
256
+ /**
257
+ * OPTIONAL -- ONLY USE FOR TESTING/DEVELOPMENT. Private keys should NOT be exportable in secure environments.
258
+ * Export an opaque private key to PEM format.
259
+ * @param key - Opaque private key
260
+ * @returns PEM-encoded private key (PKCS8 format)
261
+ */
262
+ exportPrivateKeyPem?: (key: PrivateKey) => Promise<string>;
263
+ /**
264
+ * Export an opaque public key to JWK format.
265
+ * @param key - Opaque public key
266
+ * @returns JWK representation
267
+ */
268
+ exportPublicKeyJwk: (key: PublicKey) => Promise<JsonWebKey>;
269
+ /**
270
+ * Extract PEM public key from X.509 certificate or return PEM key as-is.
271
+ *
272
+ * Used to normalize KAS public keys which may be provided as either:
273
+ * - X.509 certificates (-----BEGIN CERTIFICATE-----)
274
+ * - Raw PEM public keys (-----BEGIN PUBLIC KEY-----)
275
+ *
276
+ * For certificates, jwaAlgorithm must be provided to correctly parse the key
277
+ * (e.g., 'RS256', 'RS512', 'ES256', 'ES384', 'ES512'). For raw PEM keys,
278
+ * the algorithm parameter is ignored.
279
+ *
280
+ * @param certOrPem - PEM-encoded public key or X.509 certificate
281
+ * @param jwaAlgorithm - JWA algorithm for certificate parsing (required for certificates)
282
+ * @returns PEM-encoded public key (SPKI format)
283
+ * @throws Error if input is not valid PEM or certificate
284
+ */
285
+ extractPublicKeyPem: (certOrPem: string, jwaAlgorithm?: string) => Promise<string>;
286
+ /**
287
+ * Convert a JWK (JSON Web Key) public key to PEM format.
288
+ * Supports both RSA and EC keys.
289
+ *
290
+ * @param jwk - JSON Web Key object
291
+ * @returns PEM-encoded public key
292
+ * @throws ConfigurationError if JWK format invalid
293
+ */
294
+ jwkToPublicKeyPem: (jwk: JsonWebKey) => Promise<string>;
295
+ /**
296
+ * Import raw key bytes as an opaque symmetric key.
297
+ * Used for external keys (e.g., unwrapped from KAS).
298
+ * @param keyBytes - Raw key bytes
299
+ * @returns Opaque symmetric key
300
+ */
301
+ importSymmetricKey: (keyBytes: Uint8Array) => Promise<SymmetricKey>;
302
+ /**
303
+ * Split a symmetric key into N shares using XOR secret sharing.
304
+ *
305
+ * DefaultCryptoService: Uses keySplit() utility (extracts bytes internally)
306
+ * HSM implementations: Must use native splitting OR throw ConfigurationError
307
+ *
308
+ * @param key - Symmetric key to split
309
+ * @param numShares - Number of shares to create
310
+ * @returns Array of opaque key shares
311
+ * @throws ConfigurationError if not supported by the implementation
312
+ *
313
+ * Note: Multi-KAS may not be available in all secure environments (single KAS only)
314
+ */
315
+ splitSymmetricKey: (key: SymmetricKey, numShares: number) => Promise<SymmetricKey[]>;
316
+ /**
317
+ * Merge symmetric key shares back into the original key using XOR.
318
+ *
319
+ * @param shares - Array of key shares (from splitSymmetricKey)
320
+ * @returns Merged symmetric key
321
+ * @throws ConfigurationError if not supported by the implementation
322
+ */
323
+ mergeSymmetricKeys: (shares: SymmetricKey[]) => Promise<SymmetricKey>;
59
324
  };
60
325
  //# sourceMappingURL=declarations.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"declarations.d.ts","sourceRoot":"","sources":["../../../../../tdf3/src/crypto/declarations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAE7D,MAAM,MAAM,aAAa,GAAG;IAC1B,yBAAyB;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,8BAA8B;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,4BAA4B,OAAO,CAAC;AAEjD,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG,aAAa,CAAC;AAEpD,MAAM,MAAM,aAAa,GAAG;IAC1B,qDAAqD;IACrD,IAAI,EAAE,MAAM,CAAC;IAEb,oCAAoC;IACpC,MAAM,EAAE,YAAY,CAAC;IAErB,sDAAsD;IACtD,eAAe,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;IAE3D;;;OAGG;IACH,OAAO,EAAE,CACP,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,EACX,EAAE,EAAE,MAAM,EACV,SAAS,CAAC,EAAE,YAAY,EACxB,OAAO,CAAC,EAAE,MAAM,KACb,OAAO,CAAC,aAAa,CAAC,CAAC;IAE5B,qBAAqB,EAAE,CAAC,gBAAgB,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAEzF;;OAEG;IACH,OAAO,EAAE,CACP,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,EACX,EAAE,EAAE,MAAM,EACV,SAAS,CAAC,EAAE,YAAY,KACrB,OAAO,CAAC,aAAa,CAAC,CAAC;IAE5B,oBAAoB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAE9E,uDAAuD;IACvD,4BAA4B,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAEnE,uDAAuD;IACvD,WAAW,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAElD;;;OAGG;IACH,eAAe,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;IAExD,sBAAsB,EAAE,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC;IAElD;;OAEG;IACH,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAExD,WAAW,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;IAEzD,mEAAmE;IACnE,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CAC9C,CAAC"}
1
+ {"version":3,"file":"declarations.d.ts","sourceRoot":"","sources":["../../../../../tdf3/src/crypto/declarations.ts"],"names":[],"mappings":"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"}