@agnostack/verifyd 2.5.0-alpha.3 → 2.5.0-alpha.4

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.
@@ -163,6 +163,9 @@ export class WebCrypto {
163
163
  case 'sharedSecret': {
164
164
  return ['encrypt', 'decrypt'];
165
165
  }
166
+ case 'hmac': {
167
+ return ['sign', 'verify'];
168
+ }
166
169
  default: {
167
170
  return [];
168
171
  }
@@ -179,6 +182,12 @@ export class WebCrypto {
179
182
  name: 'AES-GCM',
180
183
  };
181
184
  }
185
+ case 'hmac': {
186
+ return {
187
+ name: 'HMAC',
188
+ hash: { name: 'SHA-256' },
189
+ };
190
+ }
182
191
  default: {
183
192
  return {
184
193
  name: 'ECDH',
@@ -201,6 +210,12 @@ export class WebCrypto {
201
210
  return keyPair;
202
211
  });
203
212
  }
213
+ importRawKey(keyType_1, rawBytes_1) {
214
+ return __awaiter(this, arguments, void 0, function* (keyType, rawBytes, { extractable = true } = {}) {
215
+ const crypto = yield this.getWebCrypto();
216
+ return crypto.subtle.importKey('raw', rawBytes, this.getKeyAlgorythm(keyType), extractable, this.getKeyOperations(keyType));
217
+ });
218
+ }
204
219
  generateHMAC(message, derivedKey) {
205
220
  return __awaiter(this, void 0, void 0, function* () {
206
221
  if (!message || !derivedKey) {
@@ -218,6 +233,31 @@ export class WebCrypto {
218
233
  return this.timingSafeEqual(calculatedHMAC, verifiableHMAC);
219
234
  });
220
235
  }
236
+ createSignedToken(message, hmacKey, ttlSeconds) {
237
+ return __awaiter(this, void 0, void 0, function* () {
238
+ const expiry = Math.floor(Date.now() / 1000) + ttlSeconds;
239
+ const hmacHex = yield this.generateHMAC(`${message}:${expiry}`, hmacKey);
240
+ return `${expiry}.${hmacHex}`;
241
+ });
242
+ }
243
+ verifySignedToken(token, message, hmacKey) {
244
+ return __awaiter(this, void 0, void 0, function* () {
245
+ if (!token || typeof token !== 'string') {
246
+ return false;
247
+ }
248
+ const dotIndex = token.indexOf('.');
249
+ if (dotIndex === -1) {
250
+ return false;
251
+ }
252
+ const expiryStr = token.substring(0, dotIndex);
253
+ const signature = token.substring(dotIndex + 1);
254
+ const expiry = parseInt(expiryStr, 10);
255
+ if (isNaN(expiry) || expiry <= Math.floor(Date.now() / 1000)) {
256
+ return false;
257
+ }
258
+ return this.verifyHMAC(`${message}:${expiryStr}`, hmacKey, signature);
259
+ });
260
+ }
221
261
  // NOTE: intentionally separated out as async to be able to .catch
222
262
  getStorableKey(key) {
223
263
  return __awaiter(this, void 0, void 0, function* () {
@@ -18,15 +18,28 @@ export class WebCrypto {
18
18
  getKeyOperations(keyType: any): string[];
19
19
  getKeyAlgorythm(keyType: any): {
20
20
  name: string;
21
+ hash?: undefined;
22
+ namedCurve?: undefined;
23
+ } | {
24
+ name: string;
25
+ hash: {
26
+ name: string;
27
+ };
21
28
  namedCurve?: undefined;
22
29
  } | {
23
30
  name: string;
24
31
  namedCurve: string;
32
+ hash?: undefined;
25
33
  };
26
34
  generateKeyPair(): Promise<any>;
27
35
  generateSharedSecret(): Promise<any>;
36
+ importRawKey(keyType: any, rawBytes: any, { extractable }?: {
37
+ extractable?: boolean | undefined;
38
+ }): Promise<any>;
28
39
  generateHMAC(message: any, derivedKey: any): Promise<string | undefined>;
29
40
  verifyHMAC(message: any, derivedKey: any, verifiableHMAC: any): Promise<boolean>;
41
+ createSignedToken(message: any, hmacKey: any, ttlSeconds: any): Promise<string>;
42
+ verifySignedToken(token: any, message: any, hmacKey: any): Promise<boolean>;
30
43
  getStorableKey(key: any): Promise<string>;
31
44
  parseStorableHex(storableHex: any): Promise<any>;
32
45
  restoreStorableKey(keyType: any, storableHex: any): Promise<any>;
@@ -1 +1 @@
1
- {"version":3,"file":"WebCrypto.d.ts","sourceRoot":"","sources":["../../src/shared/WebCrypto.js"],"names":[],"mappings":"AAQA;IACE;;;OAGC;IAFC,aAA4B;IAC5B,WAAwB;IAG1B,kBAEC;IAED,6BAiCC;IAED,+BAyBC;IAED,+BAyBC;IAED,mDAiBC;IAED,sCAMC;IAED,mCAYC;IAED,oDAIC;IAED,oCAMC;IAED,gDAMC;IAED,yCAkBC;IAED;;;;;;MAmBC;IAED,gCASC;IAED,qCASC;IAED,yEAiBC;IAED,iFAIC;IAGD,0CAKC;IAGD,iDAEC;IAED,iEAsBC;IAED,8CAUC;IAED,kDAUC;IAED;;;qBAoBC;IAED;;;qBAqBC;IAED;;;;;;;;;OAaC;IAED,sFAuBC;IAED,qEAuBC;CACF"}
1
+ {"version":3,"file":"WebCrypto.d.ts","sourceRoot":"","sources":["../../src/shared/WebCrypto.js"],"names":[],"mappings":"AAQA;IACE;;;OAGC;IAFC,aAA4B;IAC5B,WAAwB;IAG1B,kBAEC;IAED,6BAiCC;IAED,+BAyBC;IAED,+BAyBC;IAED,mDAiBC;IAED,sCAMC;IAED,mCAYC;IAED,oDAIC;IAED,oCAMC;IAED,gDAMC;IAED,yCAsBC;IAED;;;;;;;;;;;;;;MA0BC;IAED,gCASC;IAED,qCASC;IAED;;qBAUC;IAED,yEAiBC;IAED,iFAIC;IAED,gFAKC;IAED,4EAmBC;IAGD,0CAKC;IAGD,iDAEC;IAED,iEAsBC;IAED,8CAUC;IAED,kDAUC;IAED;;;qBAoBC;IAED;;;qBAqBC;IAED;;;;;;;;;OAaC;IAED,sFAuBC;IAED,qEAuBC;CACF"}
@@ -189,6 +189,9 @@ class WebCrypto {
189
189
  case 'sharedSecret': {
190
190
  return ['encrypt', 'decrypt'];
191
191
  }
192
+ case 'hmac': {
193
+ return ['sign', 'verify'];
194
+ }
192
195
  default: {
193
196
  return [];
194
197
  }
@@ -205,6 +208,12 @@ class WebCrypto {
205
208
  name: 'AES-GCM',
206
209
  };
207
210
  }
211
+ case 'hmac': {
212
+ return {
213
+ name: 'HMAC',
214
+ hash: { name: 'SHA-256' },
215
+ };
216
+ }
208
217
  default: {
209
218
  return {
210
219
  name: 'ECDH',
@@ -227,6 +236,12 @@ class WebCrypto {
227
236
  return keyPair;
228
237
  });
229
238
  }
239
+ importRawKey(keyType_1, rawBytes_1) {
240
+ return __awaiter(this, arguments, void 0, function* (keyType, rawBytes, { extractable = true } = {}) {
241
+ const crypto = yield this.getWebCrypto();
242
+ return crypto.subtle.importKey('raw', rawBytes, this.getKeyAlgorythm(keyType), extractable, this.getKeyOperations(keyType));
243
+ });
244
+ }
230
245
  generateHMAC(message, derivedKey) {
231
246
  return __awaiter(this, void 0, void 0, function* () {
232
247
  if (!message || !derivedKey) {
@@ -244,6 +259,31 @@ class WebCrypto {
244
259
  return this.timingSafeEqual(calculatedHMAC, verifiableHMAC);
245
260
  });
246
261
  }
262
+ createSignedToken(message, hmacKey, ttlSeconds) {
263
+ return __awaiter(this, void 0, void 0, function* () {
264
+ const expiry = Math.floor(Date.now() / 1000) + ttlSeconds;
265
+ const hmacHex = yield this.generateHMAC(`${message}:${expiry}`, hmacKey);
266
+ return `${expiry}.${hmacHex}`;
267
+ });
268
+ }
269
+ verifySignedToken(token, message, hmacKey) {
270
+ return __awaiter(this, void 0, void 0, function* () {
271
+ if (!token || typeof token !== 'string') {
272
+ return false;
273
+ }
274
+ const dotIndex = token.indexOf('.');
275
+ if (dotIndex === -1) {
276
+ return false;
277
+ }
278
+ const expiryStr = token.substring(0, dotIndex);
279
+ const signature = token.substring(dotIndex + 1);
280
+ const expiry = parseInt(expiryStr, 10);
281
+ if (isNaN(expiry) || expiry <= Math.floor(Date.now() / 1000)) {
282
+ return false;
283
+ }
284
+ return this.verifyHMAC(`${message}:${expiryStr}`, hmacKey, signature);
285
+ });
286
+ }
247
287
  // NOTE: intentionally separated out as async to be able to .catch
248
288
  getStorableKey(key) {
249
289
  return __awaiter(this, void 0, void 0, function* () {
@@ -1 +1 @@
1
- {"version":3,"file":"WebCrypto.js","sourceRoot":"","sources":["../../src/shared/WebCrypto.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WebCrypto.js","sourceRoot":"","sources":["../../src/shared/WebCrypto.js"],"names":[],"mappings":"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"}
package/dist/umd/index.js CHANGED
@@ -452,6 +452,10 @@
452
452
  return ['encrypt', 'decrypt']
453
453
  }
454
454
 
455
+ case 'hmac': {
456
+ return ['sign', 'verify']
457
+ }
458
+
455
459
  default: {
456
460
  return []
457
461
  }
@@ -470,6 +474,13 @@
470
474
  }
471
475
  }
472
476
 
477
+ case 'hmac': {
478
+ return {
479
+ name: 'HMAC',
480
+ hash: { name: 'SHA-256' },
481
+ }
482
+ }
483
+
473
484
  default: {
474
485
  return {
475
486
  name: 'ECDH',
@@ -501,6 +512,18 @@
501
512
  return keyPair
502
513
  }
503
514
 
515
+ async importRawKey(keyType, rawBytes, { extractable = true } = {}) {
516
+ const crypto = await this.getWebCrypto();
517
+
518
+ return crypto.subtle.importKey(
519
+ 'raw',
520
+ rawBytes,
521
+ this.getKeyAlgorythm(keyType),
522
+ extractable,
523
+ this.getKeyOperations(keyType)
524
+ )
525
+ }
526
+
504
527
  async generateHMAC(message, derivedKey) {
505
528
  if (!message || !derivedKey) {
506
529
  return undefined
@@ -526,6 +549,34 @@
526
549
  return this.timingSafeEqual(calculatedHMAC, verifiableHMAC)
527
550
  }
528
551
 
552
+ async createSignedToken(message, hmacKey, ttlSeconds) {
553
+ const expiry = Math.floor(Date.now() / 1000) + ttlSeconds;
554
+ const hmacHex = await this.generateHMAC(`${message}:${expiry}`, hmacKey);
555
+
556
+ return `${expiry}.${hmacHex}`
557
+ }
558
+
559
+ async verifySignedToken(token, message, hmacKey) {
560
+ if (!token || typeof token !== 'string') {
561
+ return false
562
+ }
563
+
564
+ const dotIndex = token.indexOf('.');
565
+ if (dotIndex === -1) {
566
+ return false
567
+ }
568
+
569
+ const expiryStr = token.substring(0, dotIndex);
570
+ const signature = token.substring(dotIndex + 1);
571
+
572
+ const expiry = parseInt(expiryStr, 10);
573
+ if (isNaN(expiry) || expiry <= Math.floor(Date.now() / 1000)) {
574
+ return false
575
+ }
576
+
577
+ return this.verifyHMAC(`${message}:${expiryStr}`, hmacKey, signature)
578
+ }
579
+
529
580
  // NOTE: intentionally separated out as async to be able to .catch
530
581
  async getStorableKey(key) {
531
582
  const crypto = await this.getWebCrypto();