@lindorm/aegis 0.2.6 → 0.3.0

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 (314) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/dist/classes/Aegis.d.ts +29 -3
  3. package/dist/classes/Aegis.d.ts.map +1 -1
  4. package/dist/classes/Aegis.js +257 -45
  5. package/dist/classes/Aegis.js.map +1 -1
  6. package/dist/classes/CweKit.d.ts +14 -0
  7. package/dist/classes/CweKit.d.ts.map +1 -0
  8. package/dist/classes/CweKit.js +155 -0
  9. package/dist/classes/CweKit.js.map +1 -0
  10. package/dist/classes/CwsKit.d.ts +13 -0
  11. package/dist/classes/CwsKit.d.ts.map +1 -0
  12. package/dist/classes/CwsKit.js +131 -0
  13. package/dist/classes/CwsKit.js.map +1 -0
  14. package/dist/classes/CwtKit.d.ts +17 -0
  15. package/dist/classes/CwtKit.d.ts.map +1 -0
  16. package/dist/classes/CwtKit.js +162 -0
  17. package/dist/classes/CwtKit.js.map +1 -0
  18. package/dist/classes/JweKit.d.ts +5 -4
  19. package/dist/classes/JweKit.d.ts.map +1 -1
  20. package/dist/classes/JweKit.js +62 -53
  21. package/dist/classes/JweKit.js.map +1 -1
  22. package/dist/classes/JwsKit.d.ts +5 -2
  23. package/dist/classes/JwsKit.d.ts.map +1 -1
  24. package/dist/classes/JwsKit.js +43 -47
  25. package/dist/classes/JwsKit.js.map +1 -1
  26. package/dist/classes/JwtKit.d.ts +5 -2
  27. package/dist/classes/JwtKit.d.ts.map +1 -1
  28. package/dist/classes/JwtKit.js +48 -58
  29. package/dist/classes/JwtKit.js.map +1 -1
  30. package/dist/classes/SignatureKit.d.ts +12 -0
  31. package/dist/classes/SignatureKit.d.ts.map +1 -0
  32. package/dist/classes/SignatureKit.js +41 -0
  33. package/dist/classes/SignatureKit.js.map +1 -0
  34. package/dist/classes/index.d.ts +4 -0
  35. package/dist/classes/index.d.ts.map +1 -1
  36. package/dist/classes/index.js +4 -0
  37. package/dist/classes/index.js.map +1 -1
  38. package/dist/constants/private/cose.d.ts +20 -0
  39. package/dist/constants/private/cose.d.ts.map +1 -0
  40. package/dist/constants/private/cose.js +134 -0
  41. package/dist/constants/private/cose.js.map +1 -0
  42. package/dist/constants/private/format.d.ts.map +1 -1
  43. package/dist/constants/private/header.d.ts +3 -0
  44. package/dist/constants/private/header.d.ts.map +1 -0
  45. package/dist/constants/private/header.js +25 -0
  46. package/dist/constants/private/header.js.map +1 -0
  47. package/dist/constants/private/index.d.ts +2 -0
  48. package/dist/constants/private/index.d.ts.map +1 -1
  49. package/dist/constants/private/index.js +2 -0
  50. package/dist/constants/private/index.js.map +1 -1
  51. package/dist/errors/CoseEncryptError.d.ts +4 -0
  52. package/dist/errors/CoseEncryptError.d.ts.map +1 -0
  53. package/dist/errors/CoseEncryptError.js +8 -0
  54. package/dist/errors/CoseEncryptError.js.map +1 -0
  55. package/dist/errors/CoseSignError.d.ts +4 -0
  56. package/dist/errors/CoseSignError.d.ts.map +1 -0
  57. package/dist/errors/CoseSignError.js +8 -0
  58. package/dist/errors/CoseSignError.js.map +1 -0
  59. package/dist/errors/CwtError.d.ts +4 -0
  60. package/dist/errors/CwtError.d.ts.map +1 -0
  61. package/dist/errors/CwtError.js +8 -0
  62. package/dist/errors/CwtError.js.map +1 -0
  63. package/dist/errors/index.d.ts +3 -0
  64. package/dist/errors/index.d.ts.map +1 -1
  65. package/dist/errors/index.js +3 -0
  66. package/dist/errors/index.js.map +1 -1
  67. package/dist/index.d.ts +1 -0
  68. package/dist/index.d.ts.map +1 -1
  69. package/dist/index.js +1 -0
  70. package/dist/index.js.map +1 -1
  71. package/dist/interfaces/Aegis.d.ts +47 -0
  72. package/dist/interfaces/Aegis.d.ts.map +1 -0
  73. package/dist/{types/interfaces/aegis.js → interfaces/Aegis.js} +1 -1
  74. package/dist/interfaces/Aegis.js.map +1 -0
  75. package/dist/interfaces/CweKit.d.ts +6 -0
  76. package/dist/interfaces/CweKit.d.ts.map +1 -0
  77. package/dist/{types/interfaces/jwe-kit.js → interfaces/CweKit.js} +1 -1
  78. package/dist/interfaces/CweKit.js.map +1 -0
  79. package/dist/interfaces/CwsKit.d.ts +6 -0
  80. package/dist/interfaces/CwsKit.d.ts.map +1 -0
  81. package/dist/{types/interfaces/jws-kit.js → interfaces/CwsKit.js} +1 -1
  82. package/dist/interfaces/CwsKit.js.map +1 -0
  83. package/dist/interfaces/CwtKit.d.ts +7 -0
  84. package/dist/interfaces/CwtKit.d.ts.map +1 -0
  85. package/dist/{types/interfaces/jwt-kit.js → interfaces/CwtKit.js} +1 -1
  86. package/dist/interfaces/CwtKit.js.map +1 -0
  87. package/dist/interfaces/JweKit.d.ts +6 -0
  88. package/dist/interfaces/JweKit.d.ts.map +1 -0
  89. package/dist/interfaces/JweKit.js +3 -0
  90. package/dist/interfaces/JweKit.js.map +1 -0
  91. package/dist/interfaces/JwsKit.d.ts +6 -0
  92. package/dist/interfaces/JwsKit.d.ts.map +1 -0
  93. package/dist/interfaces/JwsKit.js +3 -0
  94. package/dist/interfaces/JwsKit.js.map +1 -0
  95. package/dist/interfaces/JwtKit.d.ts +7 -0
  96. package/dist/interfaces/JwtKit.d.ts.map +1 -0
  97. package/dist/interfaces/JwtKit.js +3 -0
  98. package/dist/interfaces/JwtKit.js.map +1 -0
  99. package/dist/interfaces/index.d.ts +8 -0
  100. package/dist/interfaces/index.d.ts.map +1 -0
  101. package/dist/interfaces/index.js +24 -0
  102. package/dist/interfaces/index.js.map +1 -0
  103. package/dist/mocks/create-mock-aegis.d.ts +1 -1
  104. package/dist/mocks/create-mock-aegis.d.ts.map +1 -1
  105. package/dist/mocks/create-mock-aegis.js +46 -2
  106. package/dist/mocks/create-mock-aegis.js.map +1 -1
  107. package/dist/types/aegis.d.ts +0 -1
  108. package/dist/types/aegis.d.ts.map +1 -1
  109. package/dist/types/cwe/cwe-decode.d.ts +14 -0
  110. package/dist/types/cwe/cwe-decode.d.ts.map +1 -0
  111. package/dist/types/cwe/cwe-decode.js +3 -0
  112. package/dist/types/cwe/cwe-decode.js.map +1 -0
  113. package/dist/types/cwe/cwe-decrypt.d.ts +15 -0
  114. package/dist/types/cwe/cwe-decrypt.d.ts.map +1 -0
  115. package/dist/types/cwe/cwe-decrypt.js +3 -0
  116. package/dist/types/cwe/cwe-decrypt.js.map +1 -0
  117. package/dist/types/cwe/cwe-encrypt.d.ts +10 -0
  118. package/dist/types/cwe/cwe-encrypt.d.ts.map +1 -0
  119. package/dist/types/cwe/cwe-encrypt.js +3 -0
  120. package/dist/types/cwe/cwe-encrypt.js.map +1 -0
  121. package/dist/types/cwe/cwe-kit.d.ts +9 -0
  122. package/dist/types/cwe/cwe-kit.d.ts.map +1 -0
  123. package/dist/types/cwe/cwe-kit.js +3 -0
  124. package/dist/types/cwe/cwe-kit.js.map +1 -0
  125. package/dist/types/cwe/index.d.ts +5 -0
  126. package/dist/types/cwe/index.d.ts.map +1 -0
  127. package/dist/types/cwe/index.js +21 -0
  128. package/dist/types/cwe/index.js.map +1 -0
  129. package/dist/types/cws/cws-decode.d.ts +9 -0
  130. package/dist/types/cws/cws-decode.d.ts.map +1 -0
  131. package/dist/types/cws/cws-decode.js +3 -0
  132. package/dist/types/cws/cws-decode.js.map +1 -0
  133. package/dist/types/cws/cws-kit.d.ts +8 -0
  134. package/dist/types/cws/cws-kit.d.ts.map +1 -0
  135. package/dist/types/cws/cws-kit.js +3 -0
  136. package/dist/types/cws/cws-kit.js.map +1 -0
  137. package/dist/types/cws/cws-parse.d.ts +14 -0
  138. package/dist/types/cws/cws-parse.d.ts.map +1 -0
  139. package/dist/types/cws/cws-parse.js +3 -0
  140. package/dist/types/cws/cws-parse.js.map +1 -0
  141. package/dist/types/cws/cws-sign.d.ts +12 -0
  142. package/dist/types/cws/cws-sign.d.ts.map +1 -0
  143. package/dist/types/cws/cws-sign.js +3 -0
  144. package/dist/types/cws/cws-sign.js.map +1 -0
  145. package/dist/types/cws/index.d.ts +5 -0
  146. package/dist/types/cws/index.d.ts.map +1 -0
  147. package/dist/types/cws/index.js +21 -0
  148. package/dist/types/cws/index.js.map +1 -0
  149. package/dist/types/cwt/cwt-claims.d.ts +3 -0
  150. package/dist/types/cwt/cwt-claims.d.ts.map +1 -0
  151. package/dist/types/cwt/cwt-claims.js +3 -0
  152. package/dist/types/cwt/cwt-claims.js.map +1 -0
  153. package/dist/types/cwt/cwt-decode.d.ts +10 -0
  154. package/dist/types/cwt/cwt-decode.d.ts.map +1 -0
  155. package/dist/types/cwt/cwt-decode.js +3 -0
  156. package/dist/types/cwt/cwt-decode.js.map +1 -0
  157. package/dist/types/cwt/cwt-kit.d.ts +3 -0
  158. package/dist/types/cwt/cwt-kit.d.ts.map +1 -0
  159. package/dist/types/cwt/cwt-kit.js +3 -0
  160. package/dist/types/cwt/cwt-kit.js.map +1 -0
  161. package/dist/types/cwt/cwt-parse.d.ts +15 -0
  162. package/dist/types/cwt/cwt-parse.d.ts.map +1 -0
  163. package/dist/types/cwt/cwt-parse.js +3 -0
  164. package/dist/types/cwt/cwt-parse.js.map +1 -0
  165. package/dist/types/cwt/cwt-sign.d.ts +14 -0
  166. package/dist/types/cwt/cwt-sign.d.ts.map +1 -0
  167. package/dist/types/cwt/cwt-sign.js +3 -0
  168. package/dist/types/cwt/cwt-sign.js.map +1 -0
  169. package/dist/types/cwt/cwt-validate.d.ts +3 -0
  170. package/dist/types/cwt/cwt-validate.d.ts.map +1 -0
  171. package/dist/types/cwt/cwt-validate.js +3 -0
  172. package/dist/types/cwt/cwt-validate.js.map +1 -0
  173. package/dist/types/cwt/cwt-verify.d.ts +3 -0
  174. package/dist/types/cwt/cwt-verify.d.ts.map +1 -0
  175. package/dist/types/cwt/cwt-verify.js +3 -0
  176. package/dist/types/cwt/cwt-verify.js.map +1 -0
  177. package/dist/types/cwt/index.d.ts +8 -0
  178. package/dist/types/cwt/index.d.ts.map +1 -0
  179. package/dist/types/cwt/index.js +24 -0
  180. package/dist/types/cwt/index.js.map +1 -0
  181. package/dist/types/header.d.ts +34 -11
  182. package/dist/types/header.d.ts.map +1 -1
  183. package/dist/types/index.d.ts +4 -1
  184. package/dist/types/index.d.ts.map +1 -1
  185. package/dist/types/index.js +4 -1
  186. package/dist/types/index.js.map +1 -1
  187. package/dist/types/jwe/jwe-decode.d.ts +1 -1
  188. package/dist/types/jwe/jwe-decode.d.ts.map +1 -1
  189. package/dist/types/jwe/jwe-decrypt.d.ts +2 -2
  190. package/dist/types/jwe/jwe-decrypt.d.ts.map +1 -1
  191. package/dist/types/jwe/jwe-encrypt.d.ts +2 -0
  192. package/dist/types/jwe/jwe-encrypt.d.ts.map +1 -1
  193. package/dist/types/jwe/jwe-kit.d.ts +0 -1
  194. package/dist/types/jwe/jwe-kit.d.ts.map +1 -1
  195. package/dist/types/jws/index.d.ts +1 -1
  196. package/dist/types/jws/index.d.ts.map +1 -1
  197. package/dist/types/jws/index.js +1 -1
  198. package/dist/types/jws/index.js.map +1 -1
  199. package/dist/types/jws/{jws-verify.d.ts → jws-parse.d.ts} +5 -5
  200. package/dist/types/jws/jws-parse.d.ts.map +1 -0
  201. package/dist/types/jws/jws-parse.js +3 -0
  202. package/dist/types/jws/jws-parse.js.map +1 -0
  203. package/dist/types/jws/jws-sign.d.ts +2 -0
  204. package/dist/types/jws/jws-sign.d.ts.map +1 -1
  205. package/dist/types/jwt/jwt-claims.d.ts +1 -1
  206. package/dist/types/jwt/jwt-claims.d.ts.map +1 -1
  207. package/dist/types/jwt/jwt-parse.d.ts +13 -0
  208. package/dist/types/jwt/jwt-parse.d.ts.map +1 -1
  209. package/dist/types/jwt/jwt-sign.d.ts +2 -0
  210. package/dist/types/jwt/jwt-sign.d.ts.map +1 -1
  211. package/dist/types/jwt/jwt-verify.d.ts +0 -15
  212. package/dist/types/jwt/jwt-verify.d.ts.map +1 -1
  213. package/dist/types/signature-kit.d.ts +9 -0
  214. package/dist/types/signature-kit.d.ts.map +1 -0
  215. package/dist/types/signature-kit.js +3 -0
  216. package/dist/types/signature-kit.js.map +1 -0
  217. package/dist/utils/private/auth-tag-length.d.ts +3 -0
  218. package/dist/utils/private/auth-tag-length.d.ts.map +1 -0
  219. package/dist/utils/private/auth-tag-length.js +21 -0
  220. package/dist/utils/private/auth-tag-length.js.map +1 -0
  221. package/dist/utils/private/cose/bstr.d.ts +4 -0
  222. package/dist/utils/private/cose/bstr.d.ts.map +1 -0
  223. package/dist/utils/private/cose/bstr.js +18 -0
  224. package/dist/utils/private/cose/bstr.js.map +1 -0
  225. package/dist/utils/private/cose/claims.d.ts +5 -0
  226. package/dist/utils/private/cose/claims.d.ts.map +1 -0
  227. package/dist/utils/private/cose/claims.js +35 -0
  228. package/dist/utils/private/cose/claims.js.map +1 -0
  229. package/dist/utils/private/cose/crit.d.ts +3 -0
  230. package/dist/utils/private/cose/crit.d.ts.map +1 -0
  231. package/dist/utils/private/cose/crit.js +43 -0
  232. package/dist/utils/private/cose/crit.js.map +1 -0
  233. package/dist/utils/private/cose/find.d.ts +5 -0
  234. package/dist/utils/private/cose/find.d.ts.map +1 -0
  235. package/dist/utils/private/cose/find.js +37 -0
  236. package/dist/utils/private/cose/find.js.map +1 -0
  237. package/dist/utils/private/cose/header.d.ts +5 -0
  238. package/dist/utils/private/cose/header.d.ts.map +1 -0
  239. package/dist/utils/private/cose/header.js +88 -0
  240. package/dist/utils/private/cose/header.js.map +1 -0
  241. package/dist/utils/private/cose/index.d.ts +3 -0
  242. package/dist/utils/private/cose/index.d.ts.map +1 -0
  243. package/dist/{types/interfaces → utils/private/cose}/index.js +2 -4
  244. package/dist/utils/private/cose/index.js.map +1 -0
  245. package/dist/utils/private/cose/key.d.ts +4 -0
  246. package/dist/utils/private/cose/key.d.ts.map +1 -0
  247. package/dist/utils/private/cose/key.js +82 -0
  248. package/dist/utils/private/cose/key.js.map +1 -0
  249. package/dist/utils/private/cose-sign-token.d.ts +10 -0
  250. package/dist/utils/private/cose-sign-token.d.ts.map +1 -0
  251. package/dist/utils/private/cose-sign-token.js +12 -0
  252. package/dist/utils/private/cose-sign-token.js.map +1 -0
  253. package/dist/utils/private/cose-signature.d.ts +16 -0
  254. package/dist/utils/private/cose-signature.d.ts.map +1 -0
  255. package/dist/utils/private/cose-signature.js +17 -0
  256. package/dist/utils/private/cose-signature.js.map +1 -0
  257. package/dist/utils/private/create-hash.d.ts.map +1 -1
  258. package/dist/utils/private/index.d.ts +6 -3
  259. package/dist/utils/private/index.d.ts.map +1 -1
  260. package/dist/utils/private/index.js +6 -3
  261. package/dist/utils/private/index.js.map +1 -1
  262. package/dist/utils/private/jose-header.d.ts +4 -0
  263. package/dist/utils/private/jose-header.d.ts.map +1 -0
  264. package/dist/utils/private/jose-header.js +51 -0
  265. package/dist/utils/private/jose-header.js.map +1 -0
  266. package/dist/utils/private/jose-signature.d.ts +10 -0
  267. package/dist/utils/private/jose-signature.d.ts.map +1 -0
  268. package/dist/utils/private/jose-signature.js +19 -0
  269. package/dist/utils/private/jose-signature.js.map +1 -0
  270. package/dist/utils/private/jwt-payload.d.ts +3 -2
  271. package/dist/utils/private/jwt-payload.d.ts.map +1 -1
  272. package/dist/utils/private/jwt-payload.js +16 -14
  273. package/dist/utils/private/jwt-payload.js.map +1 -1
  274. package/dist/utils/private/jwt-validate.d.ts.map +1 -1
  275. package/dist/utils/private/jwt-verify.d.ts.map +1 -1
  276. package/dist/utils/private/jwt-verify.js +1 -1
  277. package/dist/utils/private/jwt-verify.js.map +1 -1
  278. package/dist/utils/private/token-header.d.ts +2 -3
  279. package/dist/utils/private/token-header.d.ts.map +1 -1
  280. package/dist/utils/private/token-header.js +32 -104
  281. package/dist/utils/private/token-header.js.map +1 -1
  282. package/dist/utils/private/validate-value.d.ts.map +1 -1
  283. package/dist/utils/private/validate.d.ts.map +1 -1
  284. package/package.json +20 -18
  285. package/dist/types/interfaces/aegis.d.ts +0 -22
  286. package/dist/types/interfaces/aegis.d.ts.map +0 -1
  287. package/dist/types/interfaces/aegis.js.map +0 -1
  288. package/dist/types/interfaces/index.d.ts +0 -5
  289. package/dist/types/interfaces/index.d.ts.map +0 -1
  290. package/dist/types/interfaces/index.js.map +0 -1
  291. package/dist/types/interfaces/jwe-kit.d.ts +0 -7
  292. package/dist/types/interfaces/jwe-kit.d.ts.map +0 -1
  293. package/dist/types/interfaces/jwe-kit.js.map +0 -1
  294. package/dist/types/interfaces/jws-kit.d.ts +0 -6
  295. package/dist/types/interfaces/jws-kit.d.ts.map +0 -1
  296. package/dist/types/interfaces/jws-kit.js.map +0 -1
  297. package/dist/types/interfaces/jwt-kit.d.ts +0 -8
  298. package/dist/types/interfaces/jwt-kit.d.ts.map +0 -1
  299. package/dist/types/interfaces/jwt-kit.js.map +0 -1
  300. package/dist/types/jws/jws-verify.d.ts.map +0 -1
  301. package/dist/types/jws/jws-verify.js +0 -3
  302. package/dist/types/jws/jws-verify.js.map +0 -1
  303. package/dist/utils/private/create-token-signature.d.ts +0 -9
  304. package/dist/utils/private/create-token-signature.d.ts.map +0 -1
  305. package/dist/utils/private/create-token-signature.js +0 -42
  306. package/dist/utils/private/create-token-signature.js.map +0 -1
  307. package/dist/utils/private/token-type.d.ts +0 -3
  308. package/dist/utils/private/token-type.d.ts.map +0 -1
  309. package/dist/utils/private/token-type.js +0 -11
  310. package/dist/utils/private/token-type.js.map +0 -1
  311. package/dist/utils/private/verify-token-signature.d.ts +0 -3
  312. package/dist/utils/private/verify-token-signature.d.ts.map +0 -1
  313. package/dist/utils/private/verify-token-signature.js +0 -43
  314. package/dist/utils/private/verify-token-signature.js.map +0 -1
@@ -0,0 +1,5 @@
1
+ import { CoseItem } from "../../../constants/private";
2
+ export declare const findCoseByKey: (array: Array<CoseItem>, key: any) => CoseItem | undefined;
3
+ export declare const findCoseByLabel: (array: Array<CoseItem>, label: any) => CoseItem | undefined;
4
+ export declare const findSpecificCoseKey: (kty: string) => Array<CoseItem>;
5
+ //# sourceMappingURL=find.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"find.d.ts","sourceRoot":"","sources":["../../../../src/utils/private/cose/find.ts"],"names":[],"mappings":"AACA,OAAO,EAML,QAAQ,EACT,MAAM,4BAA4B,CAAC;AAGpC,eAAO,MAAM,aAAa,GAAI,OAAO,KAAK,CAAC,QAAQ,CAAC,EAAE,KAAK,GAAG,KAAG,QAAQ,GAAG,SAE3E,CAAC;AAEF,eAAO,MAAM,eAAe,GAC1B,OAAO,KAAK,CAAC,QAAQ,CAAC,EACtB,OAAO,GAAG,KACT,QAAQ,GAAG,SAUb,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,KAAK,MAAM,KAAG,KAAK,CAAC,QAAQ,CAa/D,CAAC"}
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.findSpecificCoseKey = exports.findCoseByLabel = exports.findCoseByKey = void 0;
4
+ const is_1 = require("@lindorm/is");
5
+ const private_1 = require("../../../constants/private");
6
+ const errors_1 = require("../../../errors");
7
+ const findCoseByKey = (array, key) => {
8
+ return array.find((i) => i.key === key);
9
+ };
10
+ exports.findCoseByKey = findCoseByKey;
11
+ const findCoseByLabel = (array, label) => {
12
+ const integer = (0, is_1.isNumber)(label)
13
+ ? label
14
+ : (0, is_1.isNumberString)(label)
15
+ ? parseInt(label, 10)
16
+ : undefined;
17
+ if (!integer)
18
+ return;
19
+ return array.find((i) => i.label === integer);
20
+ };
21
+ exports.findCoseByLabel = findCoseByLabel;
22
+ const findSpecificCoseKey = (kty) => {
23
+ switch (kty) {
24
+ case "EC":
25
+ return [...private_1.COSE_KEY, ...private_1.COSE_KEY_EC];
26
+ case "OKP":
27
+ return [...private_1.COSE_KEY, ...private_1.COSE_KEY_OKP];
28
+ case "RSA":
29
+ return [...private_1.COSE_KEY, ...private_1.COSE_KEY_RSA];
30
+ case "oct":
31
+ return [...private_1.COSE_KEY, ...private_1.COSE_KEY_OCT];
32
+ default:
33
+ throw new errors_1.AegisError(`Unsupported COSE key type: ${kty}`);
34
+ }
35
+ };
36
+ exports.findSpecificCoseKey = findSpecificCoseKey;
37
+ //# sourceMappingURL=find.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"find.js","sourceRoot":"","sources":["../../../../src/utils/private/cose/find.ts"],"names":[],"mappings":";;;AAAA,oCAAuD;AACvD,wDAOoC;AACpC,4CAA6C;AAEtC,MAAM,aAAa,GAAG,CAAC,KAAsB,EAAE,GAAQ,EAAwB,EAAE;IACtF,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;AAC1C,CAAC,CAAC;AAFW,QAAA,aAAa,iBAExB;AAEK,MAAM,eAAe,GAAG,CAC7B,KAAsB,EACtB,KAAU,EACY,EAAE;IACxB,MAAM,OAAO,GAAG,IAAA,aAAQ,EAAC,KAAK,CAAC;QAC7B,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,IAAA,mBAAc,EAAC,KAAK,CAAC;YACrB,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC;YACrB,CAAC,CAAC,SAAS,CAAC;IAEhB,IAAI,CAAC,OAAO;QAAE,OAAO;IAErB,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC;AAChD,CAAC,CAAC;AAbW,QAAA,eAAe,mBAa1B;AAEK,MAAM,mBAAmB,GAAG,CAAC,GAAW,EAAmB,EAAE;IAClE,QAAQ,GAAG,EAAE,CAAC;QACZ,KAAK,IAAI;YACP,OAAO,CAAC,GAAG,kBAAQ,EAAE,GAAG,qBAAW,CAAC,CAAC;QACvC,KAAK,KAAK;YACR,OAAO,CAAC,GAAG,kBAAQ,EAAE,GAAG,sBAAY,CAAC,CAAC;QACxC,KAAK,KAAK;YACR,OAAO,CAAC,GAAG,kBAAQ,EAAE,GAAG,sBAAY,CAAC,CAAC;QACxC,KAAK,KAAK;YACR,OAAO,CAAC,GAAG,kBAAQ,EAAE,GAAG,sBAAY,CAAC,CAAC;QACxC;YACE,MAAM,IAAI,mBAAU,CAAC,8BAA8B,GAAG,EAAE,CAAC,CAAC;IAC9D,CAAC;AACH,CAAC,CAAC;AAbW,QAAA,mBAAmB,uBAa9B"}
@@ -0,0 +1,5 @@
1
+ import { Dict } from "@lindorm/types";
2
+ import { RawTokenHeaderClaims } from "../../../types";
3
+ export declare const mapCoseHeader: (claims: RawTokenHeaderClaims) => Dict;
4
+ export declare const decodeCoseHeader: (cose: Dict) => RawTokenHeaderClaims;
5
+ //# sourceMappingURL=header.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"header.d.ts","sourceRoot":"","sources":["../../../../src/utils/private/cose/header.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAGtC,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAMtD,eAAO,MAAM,aAAa,GAAI,QAAQ,oBAAoB,KAAG,IAmD5D,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,MAAM,IAAI,KAAG,oBAuC7C,CAAC"}
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.decodeCoseHeader = exports.mapCoseHeader = void 0;
4
+ const private_1 = require("../../../constants/private");
5
+ const errors_1 = require("../../../errors");
6
+ const bstr_1 = require("./bstr");
7
+ const crit_1 = require("./crit");
8
+ const find_1 = require("./find");
9
+ const key_1 = require("./key");
10
+ const mapCoseHeader = (claims) => {
11
+ const result = {};
12
+ if (claims["alg"] && claims["enc"]) {
13
+ throw new errors_1.AegisError("COSE header cannot contain both alg and enc");
14
+ }
15
+ for (const [key, value] of Object.entries(claims)) {
16
+ if (!value)
17
+ continue;
18
+ const claim = (0, find_1.findCoseByKey)(private_1.COSE_HEADER, key);
19
+ if (!claim) {
20
+ result[key] = value;
21
+ continue;
22
+ }
23
+ if (key === "alg") {
24
+ const alg = (0, find_1.findCoseByKey)(private_1.COSE_ALGORITHM, value);
25
+ if (!alg) {
26
+ throw new errors_1.AegisError(`Unsupported COSE algorithm: ${value}`);
27
+ }
28
+ result[claim.label] = alg.label;
29
+ continue;
30
+ }
31
+ if (key === "enc") {
32
+ const enc = (0, find_1.findCoseByKey)(private_1.COSE_ENCRYPTION, value);
33
+ if (!enc) {
34
+ console.error("map", { key, value, claim, alg: enc });
35
+ throw new errors_1.AegisError(`Unsupported COSE algorithm: ${value}`);
36
+ }
37
+ result[claim.label] = enc.label;
38
+ continue;
39
+ }
40
+ if (key === "crit") {
41
+ result[claim.label] = (0, crit_1.mapCoseCrit)(value);
42
+ continue;
43
+ }
44
+ if (key === "epk" || key === "jwk") {
45
+ result[claim.label] = (0, key_1.mapCoseKey)(value);
46
+ continue;
47
+ }
48
+ result[claim.label] = (0, bstr_1.toBstr)(claim, value);
49
+ continue;
50
+ }
51
+ return result;
52
+ };
53
+ exports.mapCoseHeader = mapCoseHeader;
54
+ const decodeCoseHeader = (cose) => {
55
+ const result = {};
56
+ for (const [label, value] of Object.entries(cose)) {
57
+ if (!value)
58
+ continue;
59
+ const claim = (0, find_1.findCoseByLabel)(private_1.COSE_HEADER, label);
60
+ if (!claim) {
61
+ result[label] = value;
62
+ continue;
63
+ }
64
+ if (claim.key === "alg" || claim.key === "enc") {
65
+ const alg = (0, find_1.findCoseByLabel)(private_1.COSE_ALGORITHM, value);
66
+ const enc = (0, find_1.findCoseByLabel)(private_1.COSE_ENCRYPTION, value);
67
+ if (!alg && !enc) {
68
+ throw new errors_1.AegisError(`Unsupported COSE algorithm/encryption: ${value}`);
69
+ }
70
+ const calc = alg ? "alg" : "enc";
71
+ result[calc] = alg?.key ?? enc?.key;
72
+ continue;
73
+ }
74
+ if (claim.key === "crit") {
75
+ result[claim.key] = (0, crit_1.decodeCoseCrit)(value);
76
+ continue;
77
+ }
78
+ if (claim.key === "epk" || claim.key === "jwk") {
79
+ result[claim.key] = (0, key_1.decodeCoseKey)(value);
80
+ continue;
81
+ }
82
+ result[claim.key] = (0, bstr_1.fromBstr)(claim, value);
83
+ continue;
84
+ }
85
+ return result;
86
+ };
87
+ exports.decodeCoseHeader = decodeCoseHeader;
88
+ //# sourceMappingURL=header.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"header.js","sourceRoot":"","sources":["../../../../src/utils/private/cose/header.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export * from "./claims";
2
+ export * from "./header";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/utils/private/cose/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC"}
@@ -14,8 +14,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./aegis"), exports);
18
- __exportStar(require("./jwe-kit"), exports);
19
- __exportStar(require("./jws-kit"), exports);
20
- __exportStar(require("./jwt-kit"), exports);
17
+ __exportStar(require("./claims"), exports);
18
+ __exportStar(require("./header"), exports);
21
19
  //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utils/private/cose/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,2CAAyB"}
@@ -0,0 +1,4 @@
1
+ import { Dict } from "@lindorm/types";
2
+ export declare const mapCoseKey: (jwk: any) => Dict;
3
+ export declare const decodeCoseKey: (cose: any) => Dict;
4
+ //# sourceMappingURL=key.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"key.d.ts","sourceRoot":"","sources":["../../../../src/utils/private/cose/key.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAMtC,eAAO,MAAM,UAAU,GAAI,KAAK,GAAG,KAAG,IA8CrC,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,MAAM,GAAG,KAAG,IAyCzC,CAAC"}
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.decodeCoseKey = exports.mapCoseKey = void 0;
4
+ const is_1 = require("@lindorm/is");
5
+ const private_1 = require("../../../constants/private");
6
+ const errors_1 = require("../../../errors");
7
+ const bstr_1 = require("./bstr");
8
+ const find_1 = require("./find");
9
+ const mapCoseKey = (jwk) => {
10
+ if (!(0, is_1.isObject)(jwk)) {
11
+ throw new errors_1.AegisError(`Invalid COSE key: ${jwk}`);
12
+ }
13
+ const kty = jwk["kty"];
14
+ if (!kty) {
15
+ throw new errors_1.AegisError("Missing COSE key type", { debug: { jwk } });
16
+ }
17
+ const coseKey = (0, find_1.findSpecificCoseKey)(kty);
18
+ const result = {};
19
+ for (const [key, value] of Object.entries(jwk)) {
20
+ const claim = (0, find_1.findCoseByKey)(coseKey, key);
21
+ if (!claim) {
22
+ result[key] = value;
23
+ continue;
24
+ }
25
+ if (key === "crv") {
26
+ const crv = (0, find_1.findCoseByKey)(private_1.COSE_KEY_CURVE, value);
27
+ if (!crv) {
28
+ throw new errors_1.AegisError(`Unsupported COSE key curve: ${value}`);
29
+ }
30
+ result[claim.label] = crv.label;
31
+ continue;
32
+ }
33
+ if (key === "kty") {
34
+ const kty = (0, find_1.findCoseByKey)(private_1.COSE_KEY_TYPE, value);
35
+ if (!kty) {
36
+ throw new errors_1.AegisError(`Unsupported COSE key type: ${value}`);
37
+ }
38
+ result[claim?.label ?? key] = kty.label;
39
+ continue;
40
+ }
41
+ result[claim.label] = (0, bstr_1.toBstr)(claim, value);
42
+ continue;
43
+ }
44
+ return result;
45
+ };
46
+ exports.mapCoseKey = mapCoseKey;
47
+ const decodeCoseKey = (cose) => {
48
+ if (!(0, is_1.isObject)(cose)) {
49
+ throw new errors_1.AegisError(`Invalid COSE key: ${cose}`);
50
+ }
51
+ const result = {};
52
+ const kty = (0, find_1.findCoseByLabel)(private_1.COSE_KEY_TYPE, cose[1]);
53
+ const coseKey = (0, find_1.findSpecificCoseKey)(kty.key);
54
+ for (const [label, value] of Object.entries(cose)) {
55
+ const claim = (0, find_1.findCoseByLabel)(coseKey, label);
56
+ if (!claim) {
57
+ result[label] = value;
58
+ continue;
59
+ }
60
+ if (claim.key === "crv") {
61
+ const crv = (0, find_1.findCoseByLabel)(private_1.COSE_KEY_CURVE, value);
62
+ if (!crv) {
63
+ throw new errors_1.AegisError(`Unsupported COSE key curve: ${value}`);
64
+ }
65
+ result[claim.key] = crv.key;
66
+ continue;
67
+ }
68
+ if (claim.key === "kty") {
69
+ const kty = (0, find_1.findCoseByLabel)(private_1.COSE_KEY_TYPE, value);
70
+ if (!kty) {
71
+ throw new errors_1.AegisError(`Unsupported COSE key type: ${value}`);
72
+ }
73
+ result[claim.key] = kty.key;
74
+ continue;
75
+ }
76
+ result[claim.key] = (0, bstr_1.fromBstr)(claim, value);
77
+ continue;
78
+ }
79
+ return result;
80
+ };
81
+ exports.decodeCoseKey = decodeCoseKey;
82
+ //# sourceMappingURL=key.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"key.js","sourceRoot":"","sources":["../../../../src/utils/private/cose/key.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { Dict } from "@lindorm/types";
2
+ type SignOptions = {
3
+ protectedHeader: Buffer;
4
+ unprotectedHeader: Dict;
5
+ payload: Buffer;
6
+ signature: Buffer;
7
+ };
8
+ export declare const createCoseSignToken: (options: SignOptions) => Buffer;
9
+ export {};
10
+ //# sourceMappingURL=cose-sign-token.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cose-sign-token.d.ts","sourceRoot":"","sources":["../../../src/utils/private/cose-sign-token.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAGtC,KAAK,WAAW,GAAG;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,IAAI,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,SAAS,WAAW,KAAG,MAMvD,CAAC"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createCoseSignToken = void 0;
4
+ const cbor_1 = require("cbor");
5
+ const createCoseSignToken = (options) => (0, cbor_1.encode)([
6
+ options.protectedHeader,
7
+ options.unprotectedHeader,
8
+ options.payload,
9
+ options.signature,
10
+ ]);
11
+ exports.createCoseSignToken = createCoseSignToken;
12
+ //# sourceMappingURL=cose-sign-token.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cose-sign-token.js","sourceRoot":"","sources":["../../../src/utils/private/cose-sign-token.ts"],"names":[],"mappings":";;;AACA,+BAA8B;AASvB,MAAM,mBAAmB,GAAG,CAAC,OAAoB,EAAU,EAAE,CAClE,IAAA,aAAM,EAAC;IACL,OAAO,CAAC,eAAe;IACvB,OAAO,CAAC,iBAAiB;IACzB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,SAAS;CAClB,CAAC,CAAC;AANQ,QAAA,mBAAmB,uBAM3B"}
@@ -0,0 +1,16 @@
1
+ import { IKryptos } from "@lindorm/kryptos";
2
+ type CreateOptions = {
3
+ kryptos: IKryptos;
4
+ payload: Buffer;
5
+ protectedHeader: Buffer;
6
+ };
7
+ type VerifyOptions = {
8
+ kryptos: IKryptos;
9
+ payload: Buffer;
10
+ protectedHeader: Buffer;
11
+ signature: Buffer;
12
+ };
13
+ export declare const createCoseSignature: (options: CreateOptions) => Buffer;
14
+ export declare const verifyCoseSignature: (options: VerifyOptions) => boolean;
15
+ export {};
16
+ //# sourceMappingURL=cose-signature.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cose-signature.d.ts","sourceRoot":"","sources":["../../../src/utils/private/cose-signature.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAI5C,KAAK,aAAa,GAAG;IACnB,OAAO,EAAE,QAAQ,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,KAAK,aAAa,GAAG;IACnB,OAAO,EAAE,QAAQ,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAKF,eAAO,MAAM,mBAAmB,GAAI,SAAS,aAAa,KAAG,MAM5D,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,SAAS,aAAa,KAAG,OAO5D,CAAC"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.verifyCoseSignature = exports.createCoseSignature = void 0;
4
+ const cbor_1 = require("cbor");
5
+ const classes_1 = require("../../classes");
6
+ const encodeSignature = (options) => (0, cbor_1.encode)(["Signature1", options.protectedHeader, Buffer.alloc(0), options.payload]);
7
+ const createCoseSignature = (options) => {
8
+ const signature = encodeSignature(options);
9
+ return new classes_1.SignatureKit({ kryptos: options.kryptos, dsa: "ieee-p1363" }).sign(signature);
10
+ };
11
+ exports.createCoseSignature = createCoseSignature;
12
+ const verifyCoseSignature = (options) => {
13
+ const signature = encodeSignature(options);
14
+ return new classes_1.SignatureKit({ kryptos: options.kryptos, dsa: "ieee-p1363" }).verify(signature, options.signature);
15
+ };
16
+ exports.verifyCoseSignature = verifyCoseSignature;
17
+ //# sourceMappingURL=cose-signature.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cose-signature.js","sourceRoot":"","sources":["../../../src/utils/private/cose-signature.ts"],"names":[],"mappings":";;;AACA,+BAA8B;AAC9B,2CAA6C;AAe7C,MAAM,eAAe,GAAG,CAAC,OAAsB,EAAU,EAAE,CACzD,IAAA,aAAM,EAAC,CAAC,YAAY,EAAE,OAAO,CAAC,eAAe,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;AAE7E,MAAM,mBAAmB,GAAG,CAAC,OAAsB,EAAU,EAAE;IACpE,MAAM,SAAS,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IAE3C,OAAO,IAAI,sBAAY,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC,CAAC,IAAI,CAC3E,SAAS,CACV,CAAC;AACJ,CAAC,CAAC;AANW,QAAA,mBAAmB,uBAM9B;AAEK,MAAM,mBAAmB,GAAG,CAAC,OAAsB,EAAW,EAAE;IACrE,MAAM,SAAS,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IAE3C,OAAO,IAAI,sBAAY,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,CAC7E,SAAS,EACT,OAAO,CAAC,SAAS,CAClB,CAAC;AACJ,CAAC,CAAC;AAPW,QAAA,mBAAmB,uBAO9B"}
@@ -1 +1 @@
1
- {"version":3,"file":"create-hash.d.ts","sourceRoot":"","sources":["../../../src/utils/private/create-hash.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAIpD,KAAK,YAAY,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEnD,eAAO,MAAM,YAAY,cAAe,gBAAgB,KAAG,YAM1D,CAAC;AAgBF,eAAO,MAAM,qBAAqB,cACrB,gBAAgB,QACrB,MAAM,KACX,MAA0C,CAAC;AAE9C,eAAO,MAAM,cAAc,cAAe,gBAAgB,QAAQ,MAAM,KAAG,MACzC,CAAC;AAEnC,eAAO,MAAM,eAAe,cAAe,gBAAgB,QAAQ,MAAM,KAAG,MAC1C,CAAC"}
1
+ {"version":3,"file":"create-hash.d.ts","sourceRoot":"","sources":["../../../src/utils/private/create-hash.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAIpD,KAAK,YAAY,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEnD,eAAO,MAAM,YAAY,GAAI,WAAW,gBAAgB,KAAG,YAM1D,CAAC;AAgBF,eAAO,MAAM,qBAAqB,GAChC,WAAW,gBAAgB,EAC3B,MAAM,MAAM,KACX,MAA0C,CAAC;AAE9C,eAAO,MAAM,cAAc,GAAI,WAAW,gBAAgB,EAAE,MAAM,MAAM,KAAG,MACzC,CAAC;AAEnC,eAAO,MAAM,eAAe,GAAI,WAAW,gBAAgB,EAAE,MAAM,MAAM,KAAG,MAC1C,CAAC"}
@@ -1,11 +1,14 @@
1
+ export * from "./cose";
2
+ export * from "./auth-tag-length";
3
+ export * from "./cose-sign-token";
4
+ export * from "./cose-signature";
1
5
  export * from "./create-hash";
2
- export * from "./create-token-signature";
6
+ export * from "./jose-header";
7
+ export * from "./jose-signature";
3
8
  export * from "./jwt-payload";
4
9
  export * from "./jwt-validate";
5
10
  export * from "./jwt-verify";
6
11
  export * from "./token-header";
7
- export * from "./token-type";
8
12
  export * from "./validate";
9
13
  export * from "./validate-value";
10
- export * from "./verify-token-signature";
11
14
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/private/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,0BAA0B,CAAC;AACzC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/private/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AAEvB,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC"}
@@ -14,14 +14,17 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./cose"), exports);
18
+ __exportStar(require("./auth-tag-length"), exports);
19
+ __exportStar(require("./cose-sign-token"), exports);
20
+ __exportStar(require("./cose-signature"), exports);
17
21
  __exportStar(require("./create-hash"), exports);
18
- __exportStar(require("./create-token-signature"), exports);
22
+ __exportStar(require("./jose-header"), exports);
23
+ __exportStar(require("./jose-signature"), exports);
19
24
  __exportStar(require("./jwt-payload"), exports);
20
25
  __exportStar(require("./jwt-validate"), exports);
21
26
  __exportStar(require("./jwt-verify"), exports);
22
27
  __exportStar(require("./token-header"), exports);
23
- __exportStar(require("./token-type"), exports);
24
28
  __exportStar(require("./validate"), exports);
25
29
  __exportStar(require("./validate-value"), exports);
26
- __exportStar(require("./verify-token-signature"), exports);
27
30
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/private/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B;AAC9B,2DAAyC;AACzC,gDAA8B;AAC9B,iDAA+B;AAC/B,+CAA6B;AAC7B,iDAA+B;AAC/B,+CAA6B;AAC7B,6CAA2B;AAC3B,mDAAiC;AACjC,2DAAyC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/private/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yCAAuB;AAEvB,oDAAkC;AAClC,oDAAkC;AAClC,mDAAiC;AACjC,gDAA8B;AAC9B,gDAA8B;AAC9B,mDAAiC;AACjC,gDAA8B;AAC9B,iDAA+B;AAC/B,+CAA6B;AAC7B,iDAA+B;AAC/B,6CAA2B;AAC3B,mDAAiC"}
@@ -0,0 +1,4 @@
1
+ import { DecodedTokenHeader, TokenHeaderOptions } from "../../types";
2
+ export declare const encodeJoseHeader: (options: TokenHeaderOptions) => string;
3
+ export declare const decodeJoseHeader: (header: string) => DecodedTokenHeader;
4
+ //# sourceMappingURL=jose-header.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jose-header.d.ts","sourceRoot":"","sources":["../../../src/utils/private/jose-header.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,kBAAkB,EAAqB,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAGxF,eAAO,MAAM,gBAAgB,GAAI,SAAS,kBAAkB,KAAG,MAyB9D,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,QAAQ,MAAM,KAAG,kBAkBjD,CAAC"}
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.decodeJoseHeader = exports.encodeJoseHeader = void 0;
4
+ const b64_1 = require("@lindorm/b64");
5
+ const is_1 = require("@lindorm/is");
6
+ const private_1 = require("../../constants/private");
7
+ const token_header_1 = require("./token-header");
8
+ const encodeJoseHeader = (options) => {
9
+ if (!options.algorithm) {
10
+ throw new Error("Algorithm is required");
11
+ }
12
+ if (!private_1.TOKEN_HEADER_ALGORITHMS.includes(options.algorithm)) {
13
+ throw new Error(`Invalid algorithm: ${options.algorithm}`);
14
+ }
15
+ if (!options.headerType) {
16
+ throw new Error("Header type is required");
17
+ }
18
+ if (!private_1.TOKEN_HEADER_TYPES.includes(options.headerType)) {
19
+ throw new Error(`Invalid header type: ${options.headerType}`);
20
+ }
21
+ if (!options.keyId) {
22
+ throw new Error("Key ID is required");
23
+ }
24
+ const claims = (0, token_header_1.mapTokenHeader)(options);
25
+ for (const [key, value] of Object.entries(claims)) {
26
+ if (!(0, is_1.isBuffer)(value))
27
+ continue;
28
+ claims[key] = b64_1.B64.encode(value);
29
+ }
30
+ return b64_1.B64.encode(JSON.stringify(claims), private_1.B64U);
31
+ };
32
+ exports.encodeJoseHeader = encodeJoseHeader;
33
+ const decodeJoseHeader = (header) => {
34
+ const string = b64_1.B64.toString(header);
35
+ const json = JSON.parse(string);
36
+ if (!json.alg) {
37
+ throw new Error("Missing token header: alg");
38
+ }
39
+ if (!private_1.TOKEN_HEADER_ALGORITHMS.includes(json.alg)) {
40
+ throw new Error(`Invalid token header: alg: ${json.alg}`);
41
+ }
42
+ if (!json.typ) {
43
+ throw new Error("Missing token header: typ");
44
+ }
45
+ if (!private_1.TOKEN_HEADER_TYPES.includes(json.typ)) {
46
+ throw new Error(`Invalid token header: typ: ${json.typ}`);
47
+ }
48
+ return json;
49
+ };
50
+ exports.decodeJoseHeader = decodeJoseHeader;
51
+ //# sourceMappingURL=jose-header.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jose-header.js","sourceRoot":"","sources":["../../../src/utils/private/jose-header.ts"],"names":[],"mappings":";;;AAAA,sCAAmC;AACnC,oCAAuC;AACvC,qDAIiC;AAEjC,iDAAgD;AAEzC,MAAM,gBAAgB,GAAG,CAAC,OAA2B,EAAU,EAAE;IACtE,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;IAC3C,CAAC;IACD,IAAI,CAAC,iCAAuB,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QACzD,MAAM,IAAI,KAAK,CAAC,sBAAsB,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;IAC7D,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IACD,IAAI,CAAC,4BAAkB,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QACrD,MAAM,IAAI,KAAK,CAAC,wBAAwB,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;IAChE,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;IACxC,CAAC;IAED,MAAM,MAAM,GAAG,IAAA,6BAAc,EAAC,OAAO,CAAC,CAAC;IAEvC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAClD,IAAI,CAAC,IAAA,aAAQ,EAAC,KAAK,CAAC;YAAE,SAAS;QAC9B,MAAc,CAAC,GAAG,CAAC,GAAG,SAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC3C,CAAC;IAED,OAAO,SAAG,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,cAAI,CAAC,CAAC;AAClD,CAAC,CAAC;AAzBW,QAAA,gBAAgB,oBAyB3B;AAEK,MAAM,gBAAgB,GAAG,CAAC,MAAc,EAAsB,EAAE;IACrE,MAAM,MAAM,GAAG,SAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACpC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAA+B,CAAC;IAE9D,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC/C,CAAC;IACD,IAAI,CAAC,iCAAuB,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAChD,MAAM,IAAI,KAAK,CAAC,8BAA8B,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAC5D,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC/C,CAAC;IACD,IAAI,CAAC,4BAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CAAC,8BAA8B,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,OAAO,IAA0B,CAAC;AACpC,CAAC,CAAC;AAlBW,QAAA,gBAAgB,oBAkB3B"}
@@ -0,0 +1,10 @@
1
+ import { IKryptos } from "@lindorm/kryptos";
2
+ type Options = {
3
+ header: string;
4
+ payload: string;
5
+ kryptos: IKryptos;
6
+ };
7
+ export declare const createJoseSignature: (options: Options) => string;
8
+ export declare const verifyJoseSignature: (kryptos: IKryptos, token: string) => boolean;
9
+ export {};
10
+ //# sourceMappingURL=jose-signature.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jose-signature.d.ts","sourceRoot":"","sources":["../../../src/utils/private/jose-signature.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAI5C,KAAK,OAAO,GAAG;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,QAAQ,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,SAAS,OAAO,KAAG,MAMtD,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,SAAS,QAAQ,EAAE,OAAO,MAAM,KAAG,OAKtE,CAAC"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.verifyJoseSignature = exports.createJoseSignature = void 0;
4
+ const classes_1 = require("../../classes");
5
+ const private_1 = require("../../constants/private");
6
+ const createJoseSignature = (options) => {
7
+ const data = `${options.header}.${options.payload}`;
8
+ return new classes_1.SignatureKit({ kryptos: options.kryptos, raw: true })
9
+ .sign(data)
10
+ .toString(private_1.B64U);
11
+ };
12
+ exports.createJoseSignature = createJoseSignature;
13
+ const verifyJoseSignature = (kryptos, token) => {
14
+ const [header, payload, signature] = token.split(".");
15
+ const data = `${header}.${payload}`;
16
+ return new classes_1.SignatureKit({ kryptos, encoding: private_1.B64U, raw: true }).verify(data, signature);
17
+ };
18
+ exports.verifyJoseSignature = verifyJoseSignature;
19
+ //# sourceMappingURL=jose-signature.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jose-signature.js","sourceRoot":"","sources":["../../../src/utils/private/jose-signature.ts"],"names":[],"mappings":";;;AACA,2CAA6C;AAC7C,qDAA+C;AAQxC,MAAM,mBAAmB,GAAG,CAAC,OAAgB,EAAU,EAAE;IAC9D,MAAM,IAAI,GAAG,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAEpD,OAAO,IAAI,sBAAY,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;SAC7D,IAAI,CAAC,IAAI,CAAC;SACV,QAAQ,CAAC,cAAI,CAAC,CAAC;AACpB,CAAC,CAAC;AANW,QAAA,mBAAmB,uBAM9B;AAEK,MAAM,mBAAmB,GAAG,CAAC,OAAiB,EAAE,KAAa,EAAW,EAAE;IAC/E,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACtD,MAAM,IAAI,GAAG,GAAG,MAAM,IAAI,OAAO,EAAE,CAAC;IAEpC,OAAO,IAAI,sBAAY,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,cAAI,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AAC1F,CAAC,CAAC;AALW,QAAA,mBAAmB,uBAK9B"}
@@ -5,6 +5,7 @@ type Config = {
5
5
  algorithm: KryptosAlgorithm;
6
6
  issuer: string;
7
7
  };
8
+ type DecodeClaims<C extends Dict = Dict> = JwtClaims & C;
8
9
  type Result = {
9
10
  expiresAt: Date;
10
11
  expiresIn: number;
@@ -12,9 +13,9 @@ type Result = {
12
13
  payload: string;
13
14
  tokenId: string;
14
15
  };
16
+ export declare const mapJwtContentToClaims: <C extends Dict = Dict>(config: Config, content: SignJwtContent<C>, options: SignJwtOptions) => JwtClaims;
15
17
  export declare const encodeJwtPayload: <C extends Dict = Dict>(config: Config, content: SignJwtContent<C>, options: SignJwtOptions) => Result;
16
- type DecodeClaims<C extends Dict = Dict> = JwtClaims & C;
17
18
  export declare const decodeJwtPayload: <C extends Dict = Dict<never>>(payload: string) => DecodeClaims<C>;
18
- export declare const parseJwtPayload: <C extends Dict = Dict<never>>(decoded: DecodeClaims<C>) => ParsedJwtPayload<C>;
19
+ export declare const parseTokenPayload: <C extends Dict = Dict<never>>(decoded: DecodeClaims<C>) => ParsedJwtPayload<C>;
19
20
  export {};
20
21
  //# sourceMappingURL=jwt-payload.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"jwt-payload.d.ts","sourceRoot":"","sources":["../../../src/utils/private/jwt-payload.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAKtC,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAG1F,KAAK,MAAM,GAAG;IACZ,SAAS,EAAE,gBAAgB,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,KAAK,MAAM,GAAG;IACZ,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,CAAC,SAAS,IAAI,iBACrC,MAAM,WACL,cAAc,CAAC,CAAC,CAAC,WACjB,cAAc,KACtB,MAmFF,CAAC;AAEF,KAAK,YAAY,CAAC,CAAC,SAAS,IAAI,GAAG,IAAI,IAAI,SAAS,GAAG,CAAC,CAAC;AAEzD,eAAO,MAAM,gBAAgB,GAAI,CAAC,SAAS,IAAI,yBACpC,MAAM,KACd,YAAY,CAAC,CAAC,CAAyD,CAAC;AAE3E,eAAO,MAAM,eAAe,GAAI,CAAC,SAAS,IAAI,yBACnC,YAAY,CAAC,CAAC,CAAC,KACvB,gBAAgB,CAAC,CAAC,CA4EpB,CAAC"}
1
+ {"version":3,"file":"jwt-payload.d.ts","sourceRoot":"","sources":["../../../src/utils/private/jwt-payload.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAKtC,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAG1F,KAAK,MAAM,GAAG;IACZ,SAAS,EAAE,gBAAgB,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,KAAK,YAAY,CAAC,CAAC,SAAS,IAAI,GAAG,IAAI,IAAI,SAAS,GAAG,CAAC,CAAC;AAEzD,KAAK,MAAM,GAAG;IACZ,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAAI,CAAC,SAAS,IAAI,GAAG,IAAI,EACzD,QAAQ,MAAM,EACd,SAAS,cAAc,CAAC,CAAC,CAAC,EAC1B,SAAS,cAAc,KACtB,SAyEF,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,CAAC,SAAS,IAAI,GAAG,IAAI,EACpD,QAAQ,MAAM,EACd,SAAS,cAAc,CAAC,CAAC,CAAC,EAC1B,SAAS,cAAc,KACtB,MAUF,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,CAAC,SAAS,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,EAC3D,SAAS,MAAM,KACd,YAAY,CAAC,CAAC,CAAyD,CAAC;AAE3E,eAAO,MAAM,iBAAiB,GAAI,CAAC,SAAS,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,EAC5D,SAAS,YAAY,CAAC,CAAC,CAAC,KACvB,gBAAgB,CAAC,CAAC,CA4EpB,CAAC"}