@simplewebauthn/server 13.3.2 → 14.0.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 (166) hide show
  1. package/README.md +8 -4
  2. package/esm/authentication/generateAuthenticationOptions.d.ts +2 -2
  3. package/esm/authentication/generateAuthenticationOptions.d.ts.map +1 -1
  4. package/esm/authentication/verifyAuthenticationResponse.d.ts +1 -0
  5. package/esm/authentication/verifyAuthenticationResponse.d.ts.map +1 -1
  6. package/esm/authentication/verifyAuthenticationResponse.js +40 -2
  7. package/esm/helpers/cose.d.ts +18 -2
  8. package/esm/helpers/cose.d.ts.map +1 -1
  9. package/esm/helpers/cose.js +12 -0
  10. package/esm/helpers/decodeClientDataJSON.d.ts +1 -0
  11. package/esm/helpers/decodeClientDataJSON.d.ts.map +1 -1
  12. package/esm/helpers/index.d.ts +2 -0
  13. package/esm/helpers/index.d.ts.map +1 -1
  14. package/esm/helpers/index.js +2 -0
  15. package/esm/helpers/iso/isoCrypto/digest.js +2 -2
  16. package/esm/helpers/iso/isoCrypto/getWebCrypto.d.ts.map +1 -1
  17. package/esm/helpers/iso/isoCrypto/getWebCrypto.js +12 -0
  18. package/esm/helpers/iso/isoCrypto/importJWKKey.d.ts +9 -0
  19. package/esm/helpers/iso/isoCrypto/importJWKKey.d.ts.map +1 -0
  20. package/esm/helpers/iso/isoCrypto/{importKey.js → importJWKKey.js} +6 -4
  21. package/esm/helpers/iso/isoCrypto/mapCoseAlgToWebCryptoHashAlgName.d.ts +10 -0
  22. package/esm/helpers/iso/isoCrypto/mapCoseAlgToWebCryptoHashAlgName.d.ts.map +1 -0
  23. package/esm/helpers/iso/isoCrypto/{mapCoseAlgToWebCryptoAlg.js → mapCoseAlgToWebCryptoHashAlgName.js} +6 -3
  24. package/esm/helpers/iso/isoCrypto/mapCoseAlgToWebCryptoKeyAlgName.d.ts +4 -1
  25. package/esm/helpers/iso/isoCrypto/mapCoseAlgToWebCryptoKeyAlgName.d.ts.map +1 -1
  26. package/esm/helpers/iso/isoCrypto/mapCoseAlgToWebCryptoKeyAlgName.js +15 -0
  27. package/esm/helpers/iso/isoCrypto/runtimeSupportsWebCryptoKeyAlg.d.ts +7 -0
  28. package/esm/helpers/iso/isoCrypto/runtimeSupportsWebCryptoKeyAlg.d.ts.map +1 -0
  29. package/esm/helpers/iso/isoCrypto/runtimeSupportsWebCryptoKeyAlg.js +16 -0
  30. package/esm/helpers/iso/isoCrypto/structs.d.ts +1 -1
  31. package/esm/helpers/iso/isoCrypto/structs.d.ts.map +1 -1
  32. package/esm/helpers/iso/isoCrypto/verify.d.ts.map +1 -1
  33. package/esm/helpers/iso/isoCrypto/verify.js +5 -1
  34. package/esm/helpers/iso/isoCrypto/verifyAKP.d.ts +9 -0
  35. package/esm/helpers/iso/isoCrypto/verifyAKP.d.ts.map +1 -0
  36. package/esm/helpers/iso/isoCrypto/verifyAKP.js +47 -0
  37. package/esm/helpers/iso/isoCrypto/verifyEC2.d.ts.map +1 -1
  38. package/esm/helpers/iso/isoCrypto/verifyEC2.js +5 -8
  39. package/esm/helpers/iso/isoCrypto/verifyOKP.d.ts.map +1 -1
  40. package/esm/helpers/iso/isoCrypto/verifyOKP.js +2 -5
  41. package/esm/helpers/iso/isoCrypto/verifyRSA.d.ts.map +1 -1
  42. package/esm/helpers/iso/isoCrypto/verifyRSA.js +5 -8
  43. package/esm/helpers/logging.d.ts +28 -10
  44. package/esm/helpers/logging.d.ts.map +1 -1
  45. package/esm/helpers/logging.js +27 -16
  46. package/esm/helpers/mapJWSAlgToCOSEAlg.d.ts +8 -0
  47. package/esm/helpers/mapJWSAlgToCOSEAlg.d.ts.map +1 -0
  48. package/esm/helpers/mapJWSAlgToCOSEAlg.js +31 -0
  49. package/esm/helpers/validateCertificatePath.d.ts.map +1 -1
  50. package/esm/helpers/validateCertificatePath.js +25 -7
  51. package/esm/metadata/verifyJWT.d.ts.map +1 -1
  52. package/esm/metadata/verifyJWT.js +7 -2
  53. package/esm/registration/generateRegistrationOptions.d.ts +10 -8
  54. package/esm/registration/generateRegistrationOptions.d.ts.map +1 -1
  55. package/esm/registration/generateRegistrationOptions.js +11 -29
  56. package/esm/registration/verifications/tpm/constants.d.ts +1 -2
  57. package/esm/registration/verifications/tpm/constants.d.ts.map +1 -1
  58. package/esm/registration/verifications/tpm/constants.js +1 -2
  59. package/esm/registration/verifications/tpm/isValidTPMManufacturerID.d.ts +3 -0
  60. package/esm/registration/verifications/tpm/isValidTPMManufacturerID.d.ts.map +1 -0
  61. package/esm/registration/verifications/tpm/isValidTPMManufacturerID.js +6 -0
  62. package/esm/registration/verifications/tpm/verifyAttestationTPM.d.ts.map +1 -1
  63. package/esm/registration/verifications/tpm/verifyAttestationTPM.js +3 -2
  64. package/esm/registration/verifyRegistrationResponse.d.ts +3 -3
  65. package/esm/registration/verifyRegistrationResponse.d.ts.map +1 -1
  66. package/esm/registration/verifyRegistrationResponse.js +3 -3
  67. package/esm/services/defaultRootCerts/mds.d.ts +11 -0
  68. package/esm/services/defaultRootCerts/mds.d.ts.map +1 -1
  69. package/esm/services/defaultRootCerts/mds.js +42 -0
  70. package/esm/services/metadataService.d.ts +4 -0
  71. package/esm/services/metadataService.d.ts.map +1 -1
  72. package/esm/services/metadataService.js +16 -10
  73. package/esm/services/settingsService.d.ts +4 -0
  74. package/esm/services/settingsService.d.ts.map +1 -1
  75. package/esm/services/settingsService.js +17 -2
  76. package/esm/types/dom.d.ts +236 -3
  77. package/esm/types/dom.d.ts.map +1 -1
  78. package/esm/types/index.d.ts +158 -44
  79. package/esm/types/index.d.ts.map +1 -1
  80. package/package.json +1 -1
  81. package/script/authentication/generateAuthenticationOptions.d.ts +2 -2
  82. package/script/authentication/generateAuthenticationOptions.d.ts.map +1 -1
  83. package/script/authentication/verifyAuthenticationResponse.d.ts +1 -0
  84. package/script/authentication/verifyAuthenticationResponse.d.ts.map +1 -1
  85. package/script/authentication/verifyAuthenticationResponse.js +40 -2
  86. package/script/helpers/cose.d.ts +18 -2
  87. package/script/helpers/cose.d.ts.map +1 -1
  88. package/script/helpers/cose.js +13 -0
  89. package/script/helpers/decodeClientDataJSON.d.ts +1 -0
  90. package/script/helpers/decodeClientDataJSON.d.ts.map +1 -1
  91. package/script/helpers/index.d.ts +2 -0
  92. package/script/helpers/index.d.ts.map +1 -1
  93. package/script/helpers/index.js +4 -1
  94. package/script/helpers/iso/isoCrypto/digest.js +2 -2
  95. package/script/helpers/iso/isoCrypto/getWebCrypto.d.ts.map +1 -1
  96. package/script/helpers/iso/isoCrypto/getWebCrypto.js +12 -0
  97. package/script/helpers/iso/isoCrypto/importJWKKey.d.ts +9 -0
  98. package/script/helpers/iso/isoCrypto/importJWKKey.d.ts.map +1 -0
  99. package/script/helpers/iso/isoCrypto/{importKey.js → importJWKKey.js} +7 -5
  100. package/script/helpers/iso/isoCrypto/mapCoseAlgToWebCryptoHashAlgName.d.ts +10 -0
  101. package/script/helpers/iso/isoCrypto/mapCoseAlgToWebCryptoHashAlgName.d.ts.map +1 -0
  102. package/script/helpers/iso/isoCrypto/{mapCoseAlgToWebCryptoAlg.js → mapCoseAlgToWebCryptoHashAlgName.js} +7 -4
  103. package/script/helpers/iso/isoCrypto/mapCoseAlgToWebCryptoKeyAlgName.d.ts +4 -1
  104. package/script/helpers/iso/isoCrypto/mapCoseAlgToWebCryptoKeyAlgName.d.ts.map +1 -1
  105. package/script/helpers/iso/isoCrypto/mapCoseAlgToWebCryptoKeyAlgName.js +15 -0
  106. package/script/helpers/iso/isoCrypto/runtimeSupportsWebCryptoKeyAlg.d.ts +7 -0
  107. package/script/helpers/iso/isoCrypto/runtimeSupportsWebCryptoKeyAlg.d.ts.map +1 -0
  108. package/script/helpers/iso/isoCrypto/runtimeSupportsWebCryptoKeyAlg.js +19 -0
  109. package/script/helpers/iso/isoCrypto/structs.d.ts +1 -1
  110. package/script/helpers/iso/isoCrypto/structs.d.ts.map +1 -1
  111. package/script/helpers/iso/isoCrypto/verify.d.ts.map +1 -1
  112. package/script/helpers/iso/isoCrypto/verify.js +4 -0
  113. package/script/helpers/iso/isoCrypto/verifyAKP.d.ts +9 -0
  114. package/script/helpers/iso/isoCrypto/verifyAKP.d.ts.map +1 -0
  115. package/script/helpers/iso/isoCrypto/verifyAKP.js +50 -0
  116. package/script/helpers/iso/isoCrypto/verifyEC2.d.ts.map +1 -1
  117. package/script/helpers/iso/isoCrypto/verifyEC2.js +5 -8
  118. package/script/helpers/iso/isoCrypto/verifyOKP.d.ts.map +1 -1
  119. package/script/helpers/iso/isoCrypto/verifyOKP.js +2 -5
  120. package/script/helpers/iso/isoCrypto/verifyRSA.d.ts.map +1 -1
  121. package/script/helpers/iso/isoCrypto/verifyRSA.js +5 -8
  122. package/script/helpers/logging.d.ts +28 -10
  123. package/script/helpers/logging.d.ts.map +1 -1
  124. package/script/helpers/logging.js +29 -17
  125. package/script/helpers/mapJWSAlgToCOSEAlg.d.ts +8 -0
  126. package/script/helpers/mapJWSAlgToCOSEAlg.d.ts.map +1 -0
  127. package/script/helpers/mapJWSAlgToCOSEAlg.js +34 -0
  128. package/script/helpers/validateCertificatePath.d.ts.map +1 -1
  129. package/script/helpers/validateCertificatePath.js +25 -7
  130. package/script/metadata/verifyJWT.d.ts.map +1 -1
  131. package/script/metadata/verifyJWT.js +6 -1
  132. package/script/registration/generateRegistrationOptions.d.ts +10 -8
  133. package/script/registration/generateRegistrationOptions.d.ts.map +1 -1
  134. package/script/registration/generateRegistrationOptions.js +13 -31
  135. package/script/registration/verifications/tpm/constants.d.ts +1 -2
  136. package/script/registration/verifications/tpm/constants.d.ts.map +1 -1
  137. package/script/registration/verifications/tpm/constants.js +1 -2
  138. package/script/registration/verifications/tpm/isValidTPMManufacturerID.d.ts +3 -0
  139. package/script/registration/verifications/tpm/isValidTPMManufacturerID.d.ts.map +1 -0
  140. package/script/registration/verifications/tpm/isValidTPMManufacturerID.js +9 -0
  141. package/script/registration/verifications/tpm/verifyAttestationTPM.d.ts.map +1 -1
  142. package/script/registration/verifications/tpm/verifyAttestationTPM.js +2 -1
  143. package/script/registration/verifyRegistrationResponse.d.ts +3 -3
  144. package/script/registration/verifyRegistrationResponse.d.ts.map +1 -1
  145. package/script/registration/verifyRegistrationResponse.js +2 -2
  146. package/script/services/defaultRootCerts/mds.d.ts +11 -0
  147. package/script/services/defaultRootCerts/mds.d.ts.map +1 -1
  148. package/script/services/defaultRootCerts/mds.js +43 -1
  149. package/script/services/metadataService.d.ts +4 -0
  150. package/script/services/metadataService.d.ts.map +1 -1
  151. package/script/services/metadataService.js +15 -9
  152. package/script/services/settingsService.d.ts +4 -0
  153. package/script/services/settingsService.d.ts.map +1 -1
  154. package/script/services/settingsService.js +16 -1
  155. package/script/types/dom.d.ts +236 -3
  156. package/script/types/dom.d.ts.map +1 -1
  157. package/script/types/index.d.ts +158 -44
  158. package/script/types/index.d.ts.map +1 -1
  159. package/esm/helpers/iso/isoCrypto/importKey.d.ts +0 -5
  160. package/esm/helpers/iso/isoCrypto/importKey.d.ts.map +0 -1
  161. package/esm/helpers/iso/isoCrypto/mapCoseAlgToWebCryptoAlg.d.ts +0 -7
  162. package/esm/helpers/iso/isoCrypto/mapCoseAlgToWebCryptoAlg.d.ts.map +0 -1
  163. package/script/helpers/iso/isoCrypto/importKey.d.ts +0 -5
  164. package/script/helpers/iso/isoCrypto/importKey.d.ts.map +0 -1
  165. package/script/helpers/iso/isoCrypto/mapCoseAlgToWebCryptoAlg.d.ts +0 -7
  166. package/script/helpers/iso/isoCrypto/mapCoseAlgToWebCryptoAlg.d.ts.map +0 -1
@@ -30,3 +30,45 @@ Mx86OyXShkDOOyyGeMlhLxS67ttVb9+E7gUJTb0o2HLO02JQZR7rkpeDMdmztcpH
30
30
  WD9f
31
31
  -----END CERTIFICATE-----
32
32
  `;
33
+ /**
34
+ * GlobalSign Root R46
35
+ *
36
+ * Downloaded from https://valid.r46.roots.globalsign.com/
37
+ *
38
+ * Valid until 2046-03-20 @ 00:00 PST
39
+ *
40
+ * SHA256 Fingerprint
41
+ * 4F:A3:12:6D:8D:3A:11:D1:C4:85:5A:4F:80:7C:BA:D6:CF:91:9D:3A:5A:88:B0:3B:EA:2C:63:72:D9:3C:40:C9
42
+ */
43
+ export const GlobalSign_Root_R46 = `-----BEGIN CERTIFICATE-----
44
+ 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
73
+ -----END CERTIFICATE-----
74
+ `;
@@ -1,4 +1,5 @@
1
1
  import type { MetadataStatement } from '../metadata/mdsTypes.js';
2
+ import { type SimpleWebAuthnLogger } from '../helpers/logging.js';
2
3
  import type { Uint8Array_ } from '../types/index.js';
3
4
  /**
4
5
  * Allow MetadataService to accommodate unregistered AAGUIDs (`"permissive"`), or only allow
@@ -24,6 +25,7 @@ interface MetadataService {
24
25
  mdsServers?: string[];
25
26
  statements?: MetadataStatement[];
26
27
  verificationMode?: VerificationMode;
28
+ logger?: SimpleWebAuthnLogger;
27
29
  }): Promise<void>;
28
30
  /**
29
31
  * Get a metadata statement for a given AAGUID.
@@ -44,10 +46,12 @@ export declare class BaseMetadataService implements MetadataService {
44
46
  private statementCache;
45
47
  private state;
46
48
  private verificationMode;
49
+ private logger;
47
50
  initialize(opts?: {
48
51
  mdsServers?: string[];
49
52
  statements?: MetadataStatement[];
50
53
  verificationMode?: VerificationMode;
54
+ logger?: SimpleWebAuthnLogger;
51
55
  }): Promise<void>;
52
56
  getStatement(aaguid: string | Uint8Array_): Promise<MetadataStatement | undefined>;
53
57
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"metadataService.d.ts","sourceRoot":"","sources":["../../src/services/metadataService.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAA4B,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAI3F,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAmCrD;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG,YAAY,GAAG,QAAQ,CAAC;AAIvD,UAAU,eAAe;IACvB;;;;;;;;;;;;;OAaG;IACH,UAAU,CAAC,IAAI,CAAC,EAAE;QAChB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;QACtB,UAAU,CAAC,EAAE,iBAAiB,EAAE,CAAC;QACjC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;KACrC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClB;;;;;OAKG;IACH,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC,CAAC;CACnF;AAED;;;;;GAKG;AACH,qBAAa,mBAAoB,YAAW,eAAe;IACzD,OAAO,CAAC,QAAQ,CAAoC;IACpD,OAAO,CAAC,cAAc,CAA6C;IACnE,OAAO,CAAC,KAAK,CAAyC;IACtD,OAAO,CAAC,gBAAgB,CAA8B;IAEhD,UAAU,CACd,IAAI,GAAE;QACJ,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;QACtB,UAAU,CAAC,EAAE,iBAAiB,EAAE,CAAC;QACjC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;KAChC,GACL,OAAO,CAAC,IAAI,CAAC;IA4EV,YAAY,CAChB,MAAM,EAAE,MAAM,GAAG,WAAW,GAC3B,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC;IA8DzC;;OAEG;YACW,YAAY;IAU1B;;OAEG;YACW,UAAU;IA8CxB;;OAEG;IACH,OAAO,CAAC,eAAe;IAgCvB;;OAEG;IACH,OAAO,CAAC,QAAQ;CAWjB;AAED;;;;;GAKG;AACH,eAAO,MAAM,eAAe,EAAE,eAA2C,CAAC"}
1
+ {"version":3,"file":"metadataService.d.ts","sourceRoot":"","sources":["../../src/services/metadataService.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAA4B,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE3F,OAAO,EAGL,KAAK,oBAAoB,EAC1B,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAmCrD;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG,YAAY,GAAG,QAAQ,CAAC;AAEvD,UAAU,eAAe;IACvB;;;;;;;;;;;;;OAaG;IACH,UAAU,CAAC,IAAI,CAAC,EAAE;QAChB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;QACtB,UAAU,CAAC,EAAE,iBAAiB,EAAE,CAAC;QACjC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;QACpC,MAAM,CAAC,EAAE,oBAAoB,CAAC;KAC/B,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClB;;;;;OAKG;IACH,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC,CAAC;CACnF;AAED;;;;;GAKG;AACH,qBAAa,mBAAoB,YAAW,eAAe;IACzD,OAAO,CAAC,QAAQ,CAAoC;IACpD,OAAO,CAAC,cAAc,CAA6C;IACnE,OAAO,CAAC,KAAK,CAAyC;IACtD,OAAO,CAAC,gBAAgB,CAA8B;IACtD,OAAO,CAAC,MAAM,CAAqD;IAE7D,UAAU,CACd,IAAI,GAAE;QACJ,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;QACtB,UAAU,CAAC,EAAE,iBAAiB,EAAE,CAAC;QACjC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;QACpC,MAAM,CAAC,EAAE,oBAAoB,CAAC;KAC1B,GACL,OAAO,CAAC,IAAI,CAAC;IAmFV,YAAY,CAChB,MAAM,EAAE,MAAM,GAAG,WAAW,GAC3B,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC;IA8DzC;;OAEG;YACW,YAAY;IAU1B;;OAEG;YACW,UAAU;IA8CxB;;OAEG;IACH,OAAO,CAAC,eAAe;IAgCvB;;OAEG;IACH,OAAO,CAAC,QAAQ;CAWjB;AAED;;;;;GAKG;AACH,eAAO,MAAM,eAAe,EAAE,eAA2C,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { convertAAGUIDToString } from '../helpers/convertAAGUIDToString.js';
2
2
  import { verifyMDSBlob } from '../metadata/verifyMDSBlob.js';
3
- import { getLogger } from '../helpers/logging.js';
3
+ import { buildLoggerAllMethods, DefaultNoopLogger, } from '../helpers/logging.js';
4
4
  import { fetch } from '../helpers/fetch.js';
5
5
  /**
6
6
  * An instance of `CachedMDS` that will not trigger attempts to refresh the associated entry's blob
@@ -17,7 +17,6 @@ var SERVICE_STATE;
17
17
  SERVICE_STATE[SERVICE_STATE["REFRESHING"] = 1] = "REFRESHING";
18
18
  SERVICE_STATE[SERVICE_STATE["READY"] = 2] = "READY";
19
19
  })(SERVICE_STATE || (SERVICE_STATE = {}));
20
- const log = getLogger('MetadataService');
21
20
  /**
22
21
  * An implementation of `MetadataService` that can download and parse BLOBs, and support on-demand
23
22
  * requesting and caching of individual metadata statements.
@@ -50,11 +49,18 @@ export class BaseMetadataService {
50
49
  writable: true,
51
50
  value: 'strict'
52
51
  });
52
+ Object.defineProperty(this, "logger", {
53
+ enumerable: true,
54
+ configurable: true,
55
+ writable: true,
56
+ value: DefaultNoopLogger
57
+ });
53
58
  }
54
59
  async initialize(opts = {}) {
55
60
  // Reset statement cache
56
61
  this.statementCache = {};
57
- const { mdsServers = [defaultURLMDS], statements, verificationMode } = opts;
62
+ const { mdsServers = [defaultURLMDS], statements, verificationMode, logger = DefaultNoopLogger, } = opts;
63
+ this.logger = buildLoggerAllMethods(logger);
58
64
  this.setState(SERVICE_STATE.REFRESHING);
59
65
  /**
60
66
  * If metadata statements are provided, load them into the cache first. These statements will
@@ -76,7 +82,7 @@ export class BaseMetadataService {
76
82
  statementsAdded += 1;
77
83
  }
78
84
  });
79
- log(`Cached ${statementsAdded} local statements`);
85
+ this.logger.info(`Cached ${statementsAdded} local statements`);
80
86
  }
81
87
  /**
82
88
  * If MDS servers are provided, then download blobs from them, verify them, and then add their
@@ -99,14 +105,14 @@ export class BaseMetadataService {
99
105
  }
100
106
  catch (err) {
101
107
  // Notify of the error and move on
102
- log(`Could not download BLOB from ${url}:`, err);
108
+ this.logger.error(`Could not download BLOB from ${url}:`, err);
103
109
  numServers -= 1;
104
110
  }
105
111
  }
106
112
  // Calculate the difference to get the total number of new statements we successfully added
107
113
  const newCacheCount = Object.keys(this.statementCache).length;
108
114
  const cacheDiff = newCacheCount - currentCacheCount;
109
- log(`Cached ${cacheDiff} statements from ${numServers} metadata server(s)`);
115
+ this.logger.info(`Cached ${cacheDiff} statements from ${numServers} metadata server(s)`);
110
116
  }
111
117
  if (verificationMode) {
112
118
  this.verificationMode = verificationMode;
@@ -210,7 +216,7 @@ export class BaseMetadataService {
210
216
  // TODO (Feb 2026): It'd be more actionable for devs if a specific error was raised here,
211
217
  // then this message was logged higher up when it can include the array index of the stale
212
218
  // blob.
213
- log(`⚠️ This MDS blob (serial: ${payload.no}) contains stale data as of ${parsedNextUpdate.toISOString()}. Please consider re-initializing MetadataService with a newer MDS blob.`);
219
+ this.logger.warn(`⚠️ This MDS blob (serial: ${payload.no}) contains stale data as of ${parsedNextUpdate.toISOString()}. Please consider re-initializing MetadataService with a newer MDS blob.`);
214
220
  }
215
221
  }
216
222
  }
@@ -249,13 +255,13 @@ export class BaseMetadataService {
249
255
  setState(newState) {
250
256
  this.state = newState;
251
257
  if (newState === SERVICE_STATE.DISABLED) {
252
- log('MetadataService is DISABLED');
258
+ this.logger.debug('MetadataService is DISABLED');
253
259
  }
254
260
  else if (newState === SERVICE_STATE.REFRESHING) {
255
- log('MetadataService is REFRESHING');
261
+ this.logger.debug('MetadataService is REFRESHING');
256
262
  }
257
263
  else if (newState === SERVICE_STATE.READY) {
258
- log('MetadataService is READY');
264
+ this.logger.debug('MetadataService is READY');
259
265
  }
260
266
  }
261
267
  }
@@ -19,6 +19,10 @@ interface SettingsService {
19
19
  getRootCertificates(opts: {
20
20
  identifier: RootCertIdentifier;
21
21
  }): string[];
22
+ /**
23
+ * Get the runtime's ability to support PQC algorithms by detecting support for ML-DSA-44
24
+ */
25
+ runtimeSupportsPQC(): boolean;
22
26
  }
23
27
  /**
24
28
  * A basic service for specifying acceptable root certificates for all supported attestation
@@ -1 +1 @@
1
- {"version":3,"file":"settingsService.d.ts","sourceRoot":"","sources":["../../src/services/settingsService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAE/E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAYrD,MAAM,MAAM,kBAAkB,GAAG,iBAAiB,GAAG,KAAK,CAAC;AAE3D,UAAU,eAAe;IACvB;;;;;;OAMG;IACH,mBAAmB,CAAC,IAAI,EAAE;QACxB,UAAU,EAAE,kBAAkB,CAAC;QAC/B,YAAY,EAAE,CAAC,WAAW,GAAG,MAAM,CAAC,EAAE,CAAC;KACxC,GAAG,IAAI,CAAC;IAET;;OAEG;IACH,mBAAmB,CAAC,IAAI,EAAE;QAAE,UAAU,EAAE,kBAAkB,CAAA;KAAE,GAAG,MAAM,EAAE,CAAC;CACzE;AAkCD;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,eAAe,EAAE,eAA2C,CAAC"}
1
+ {"version":3,"file":"settingsService.d.ts","sourceRoot":"","sources":["../../src/services/settingsService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAE/E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAarD,MAAM,MAAM,kBAAkB,GAAG,iBAAiB,GAAG,KAAK,CAAC;AAE3D,UAAU,eAAe;IACvB;;;;;;OAMG;IACH,mBAAmB,CAAC,IAAI,EAAE;QACxB,UAAU,EAAE,kBAAkB,CAAC;QAC/B,YAAY,EAAE,CAAC,WAAW,GAAG,MAAM,CAAC,EAAE,CAAC;KACxC,GAAG,IAAI,CAAC;IAET;;OAEG;IACH,mBAAmB,CAAC,IAAI,EAAE;QAAE,UAAU,EAAE,kBAAkB,CAAA;KAAE,GAAG,MAAM,EAAE,CAAC;IAExE;;OAEG;IACH,kBAAkB,IAAI,OAAO,CAAC;CAC/B;AAyCD;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,eAAe,EAAE,eAA2C,CAAC"}
@@ -1,8 +1,9 @@
1
1
  import { convertCertBufferToPEM } from '../helpers/convertCertBufferToPEM.js';
2
+ import { runtimeSupportsWebCryptoKeyAlg } from '../helpers/iso/isoCrypto/runtimeSupportsWebCryptoKeyAlg.js';
2
3
  import { GlobalSign_Root_CA } from './defaultRootCerts/android-safetynet.js';
3
4
  import { Google_Hardware_Attestation_Root_1, Google_Hardware_Attestation_Root_2, Google_Hardware_Attestation_Root_3, Google_Hardware_Attestation_Root_4, } from './defaultRootCerts/android-key.js';
4
5
  import { Apple_WebAuthn_Root_CA } from './defaultRootCerts/apple.js';
5
- import { GlobalSign_Root_CA_R3 } from './defaultRootCerts/mds.js';
6
+ import { GlobalSign_Root_CA_R3, GlobalSign_Root_R46 } from './defaultRootCerts/mds.js';
6
7
  class BaseSettingsService {
7
8
  constructor() {
8
9
  // Certificates are stored as PEM-formatted strings
@@ -12,7 +13,15 @@ class BaseSettingsService {
12
13
  writable: true,
13
14
  value: void 0
14
15
  });
16
+ // Track whether the runtime supports PQC algorithms
17
+ Object.defineProperty(this, "_runtimeSupportsPQC", {
18
+ enumerable: true,
19
+ configurable: true,
20
+ writable: true,
21
+ value: false
22
+ });
15
23
  this.pemCertificates = new Map();
24
+ this._runtimeSupportsPQC = runtimeSupportsWebCryptoKeyAlg('ML-DSA-44');
16
25
  }
17
26
  setRootCertificates(opts) {
18
27
  const { identifier, certificates } = opts;
@@ -31,6 +40,9 @@ class BaseSettingsService {
31
40
  const { identifier } = opts;
32
41
  return this.pemCertificates.get(identifier) ?? [];
33
42
  }
43
+ runtimeSupportsPQC() {
44
+ return this._runtimeSupportsPQC;
45
+ }
34
46
  }
35
47
  /**
36
48
  * A basic service for specifying acceptable root certificates for all supported attestation
@@ -67,5 +79,8 @@ SettingsService.setRootCertificates({
67
79
  });
68
80
  SettingsService.setRootCertificates({
69
81
  identifier: 'mds',
70
- certificates: [GlobalSign_Root_CA_R3],
82
+ certificates: [
83
+ GlobalSign_Root_CA_R3,
84
+ GlobalSign_Root_R46,
85
+ ],
71
86
  });
@@ -7,7 +7,7 @@
7
7
  * deno task codegen:types
8
8
  */
9
9
  /**
10
- * Generated from typescript@5.6.3
10
+ * Generated from typescript@5.8.3
11
11
  * To regenerate, run the following command from the package root:
12
12
  * deno task extract-dom-types
13
13
  */
@@ -46,11 +46,13 @@ export interface AuthenticationExtensionsClientInputs {
46
46
  credProps?: boolean;
47
47
  hmacCreateSecret?: boolean;
48
48
  minPinLength?: boolean;
49
+ prf?: AuthenticationExtensionsPRFInputs;
49
50
  }
50
51
  export interface AuthenticationExtensionsClientOutputs {
51
52
  appid?: boolean;
52
53
  credProps?: CredentialPropertiesOutput;
53
54
  hmacCreateSecret?: boolean;
55
+ prf?: AuthenticationExtensionsPRFOutputs;
54
56
  }
55
57
  export interface AuthenticatorSelectionCriteria {
56
58
  authenticatorAttachment?: AuthenticatorAttachment;
@@ -58,6 +60,15 @@ export interface AuthenticatorSelectionCriteria {
58
60
  residentKey?: ResidentKeyRequirement;
59
61
  userVerification?: UserVerificationRequirement;
60
62
  }
63
+ export interface CredentialCreationOptions {
64
+ publicKey?: PublicKeyCredentialCreationOptions;
65
+ signal?: AbortSignal;
66
+ }
67
+ export interface CredentialRequestOptions {
68
+ mediation?: CredentialMediationRequirement;
69
+ publicKey?: PublicKeyCredentialRequestOptions;
70
+ signal?: AbortSignal;
71
+ }
61
72
  /**
62
73
  * Basic cryptography features available in the current context. It allows access to a cryptographically strong random number generator and to cryptographic primitives.
63
74
  *
@@ -93,6 +104,8 @@ export interface PublicKeyCredential extends Credential {
93
104
  readonly response: AuthenticatorResponse;
94
105
  /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PublicKeyCredential/getClientExtensionResults) */
95
106
  getClientExtensionResults(): AuthenticationExtensionsClientOutputs;
107
+ /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PublicKeyCredential/toJSON) */
108
+ toJSON(): PublicKeyCredentialJSON;
96
109
  }
97
110
  export interface PublicKeyCredentialCreationOptions {
98
111
  attestation?: AttestationConveyancePreference;
@@ -110,6 +123,11 @@ export interface PublicKeyCredentialDescriptor {
110
123
  transports?: AuthenticatorTransport[];
111
124
  type: PublicKeyCredentialType;
112
125
  }
126
+ export interface PublicKeyCredentialDescriptorJSON {
127
+ id: Base64URLString;
128
+ transports?: string[];
129
+ type: string;
130
+ }
113
131
  export interface PublicKeyCredentialParameters {
114
132
  alg: COSEAlgorithmIdentifier;
115
133
  type: PublicKeyCredentialType;
@@ -135,9 +153,40 @@ export interface AuthenticatorResponse {
135
153
  /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AuthenticatorResponse/clientDataJSON) */
136
154
  readonly clientDataJSON: ArrayBuffer;
137
155
  }
156
+ export interface AuthenticationExtensionsPRFInputs {
157
+ eval?: AuthenticationExtensionsPRFValues;
158
+ evalByCredential?: Record<string, AuthenticationExtensionsPRFValues>;
159
+ }
138
160
  export interface CredentialPropertiesOutput {
139
161
  rk?: boolean;
140
162
  }
163
+ export interface AuthenticationExtensionsPRFOutputs {
164
+ enabled?: boolean;
165
+ results?: AuthenticationExtensionsPRFValues;
166
+ }
167
+ /**
168
+ * A signal object that allows you to communicate with a DOM request (such as a Fetch) and abort it if required via an AbortController object.
169
+ *
170
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/AbortSignal)
171
+ */
172
+ export interface AbortSignal extends EventTarget {
173
+ /**
174
+ * Returns true if this AbortSignal's AbortController has signaled to abort, and false otherwise.
175
+ *
176
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/AbortSignal/aborted)
177
+ */
178
+ readonly aborted: boolean;
179
+ /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AbortSignal/abort_event) */
180
+ onabort: ((this: AbortSignal, ev: Event) => any) | null;
181
+ /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AbortSignal/reason) */
182
+ readonly reason: any;
183
+ /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AbortSignal/throwIfAborted) */
184
+ throwIfAborted(): void;
185
+ addEventListener<K extends keyof AbortSignalEventMap>(type: K, listener: (this: AbortSignal, ev: AbortSignalEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
186
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
187
+ removeEventListener<K extends keyof AbortSignalEventMap>(type: K, listener: (this: AbortSignal, ev: AbortSignalEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
188
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
189
+ }
141
190
  /**
142
191
  * This Web Crypto API interface provides a number of low-level cryptographic functions. It is accessed via the Crypto.subtle properties available in a window context (via Window.crypto).
143
192
  * Available only in secure contexts.
@@ -148,7 +197,7 @@ export interface SubtleCrypto {
148
197
  /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SubtleCrypto/decrypt) */
149
198
  decrypt(algorithm: AlgorithmIdentifier | RsaOaepParams | AesCtrParams | AesCbcParams | AesGcmParams, key: CryptoKey, data: BufferSource): Promise<ArrayBuffer>;
150
199
  /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SubtleCrypto/deriveBits) */
151
- deriveBits(algorithm: AlgorithmIdentifier | EcdhKeyDeriveParams | HkdfParams | Pbkdf2Params, baseKey: CryptoKey, length: number): Promise<ArrayBuffer>;
200
+ deriveBits(algorithm: AlgorithmIdentifier | EcdhKeyDeriveParams | HkdfParams | Pbkdf2Params, baseKey: CryptoKey, length?: number | null): Promise<ArrayBuffer>;
152
201
  /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SubtleCrypto/deriveKey) */
153
202
  deriveKey(algorithm: AlgorithmIdentifier | EcdhKeyDeriveParams | HkdfParams | Pbkdf2Params, baseKey: CryptoKey, derivedKeyType: AlgorithmIdentifier | AesDerivedKeyParams | HmacImportParams | HkdfParams | Pbkdf2Params, extractable: boolean, keyUsages: KeyUsage[]): Promise<CryptoKey>;
154
203
  /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SubtleCrypto/digest) */
@@ -160,7 +209,9 @@ export interface SubtleCrypto {
160
209
  exportKey(format: Exclude<KeyFormat, "jwk">, key: CryptoKey): Promise<ArrayBuffer>;
161
210
  exportKey(format: KeyFormat, key: CryptoKey): Promise<ArrayBuffer | JsonWebKey>;
162
211
  /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SubtleCrypto/generateKey) */
163
- generateKey(algorithm: "Ed25519", extractable: boolean, keyUsages: ReadonlyArray<"sign" | "verify">): Promise<CryptoKeyPair>;
212
+ generateKey(algorithm: "Ed25519" | {
213
+ name: "Ed25519";
214
+ }, extractable: boolean, keyUsages: ReadonlyArray<"sign" | "verify">): Promise<CryptoKeyPair>;
164
215
  generateKey(algorithm: RsaHashedKeyGenParams | EcKeyGenParams, extractable: boolean, keyUsages: ReadonlyArray<KeyUsage>): Promise<CryptoKeyPair>;
165
216
  generateKey(algorithm: AesKeyGenParams | HmacKeyGenParams | Pbkdf2Params, extractable: boolean, keyUsages: ReadonlyArray<KeyUsage>): Promise<CryptoKey>;
166
217
  generateKey(algorithm: AlgorithmIdentifier, extractable: boolean, keyUsages: KeyUsage[]): Promise<CryptoKeyPair | CryptoKey>;
@@ -193,6 +244,177 @@ export interface PublicKeyCredentialRpEntity extends PublicKeyCredentialEntity {
193
244
  export interface PublicKeyCredentialEntity {
194
245
  name: string;
195
246
  }
247
+ export interface AuthenticationExtensionsPRFValues {
248
+ first: BufferSource;
249
+ second?: BufferSource;
250
+ }
251
+ /**
252
+ * EventTarget is a DOM interface implemented by objects that can receive events and may have listeners for them.
253
+ *
254
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/EventTarget)
255
+ */
256
+ export interface EventTarget {
257
+ /**
258
+ * Appends an event listener for events whose type attribute value is type. The callback argument sets the callback that will be invoked when the event is dispatched.
259
+ *
260
+ * The options argument sets listener-specific options. For compatibility this can be a boolean, in which case the method behaves exactly as if the value was specified as options's capture.
261
+ *
262
+ * When set to true, options's capture prevents callback from being invoked when the event's eventPhase attribute value is BUBBLING_PHASE. When false (or not present), callback will not be invoked when event's eventPhase attribute value is CAPTURING_PHASE. Either way, callback will be invoked if event's eventPhase attribute value is AT_TARGET.
263
+ *
264
+ * When set to true, options's passive indicates that the callback will not cancel the event by invoking preventDefault(). This is used to enable performance optimizations described in § 2.8 Observing event listeners.
265
+ *
266
+ * When set to true, options's once indicates that the callback will only be invoked once after which the event listener will be removed.
267
+ *
268
+ * If an AbortSignal is passed for options's signal, then the event listener will be removed when signal is aborted.
269
+ *
270
+ * The event listener is appended to target's event listener list and is not appended if it has the same type, callback, and capture.
271
+ *
272
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/EventTarget/addEventListener)
273
+ */
274
+ addEventListener(type: string, callback: EventListenerOrEventListenerObject | null, options?: AddEventListenerOptions | boolean): void;
275
+ /**
276
+ * Dispatches a synthetic event event to target and returns true if either event's cancelable attribute value is false or its preventDefault() method was not invoked, and false otherwise.
277
+ *
278
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/EventTarget/dispatchEvent)
279
+ */
280
+ dispatchEvent(event: Event): boolean;
281
+ /**
282
+ * Removes the event listener in target's event listener list with the same type, callback, and options.
283
+ *
284
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/EventTarget/removeEventListener)
285
+ */
286
+ removeEventListener(type: string, callback: EventListenerOrEventListenerObject | null, options?: EventListenerOptions | boolean): void;
287
+ }
288
+ /**
289
+ * An event which takes place in the DOM.
290
+ *
291
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Event)
292
+ */
293
+ export interface Event {
294
+ /**
295
+ * Returns true or false depending on how event was initialized. True if event goes through its target's ancestors in reverse tree order, and false otherwise.
296
+ *
297
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Event/bubbles)
298
+ */
299
+ readonly bubbles: boolean;
300
+ /**
301
+ * @deprecated
302
+ *
303
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Event/cancelBubble)
304
+ */
305
+ cancelBubble: boolean;
306
+ /**
307
+ * Returns true or false depending on how event was initialized. Its return value does not always carry meaning, but true can indicate that part of the operation during which event was dispatched, can be canceled by invoking the preventDefault() method.
308
+ *
309
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Event/cancelable)
310
+ */
311
+ readonly cancelable: boolean;
312
+ /**
313
+ * Returns true or false depending on how event was initialized. True if event invokes listeners past a ShadowRoot node that is the root of its target, and false otherwise.
314
+ *
315
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Event/composed)
316
+ */
317
+ readonly composed: boolean;
318
+ /**
319
+ * Returns the object whose event listener's callback is currently being invoked.
320
+ *
321
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Event/currentTarget)
322
+ */
323
+ readonly currentTarget: EventTarget | null;
324
+ /**
325
+ * Returns true if preventDefault() was invoked successfully to indicate cancelation, and false otherwise.
326
+ *
327
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Event/defaultPrevented)
328
+ */
329
+ readonly defaultPrevented: boolean;
330
+ /**
331
+ * Returns the event's phase, which is one of NONE, CAPTURING_PHASE, AT_TARGET, and BUBBLING_PHASE.
332
+ *
333
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Event/eventPhase)
334
+ */
335
+ readonly eventPhase: number;
336
+ /**
337
+ * Returns true if event was dispatched by the user agent, and false otherwise.
338
+ *
339
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Event/isTrusted)
340
+ */
341
+ readonly isTrusted: boolean;
342
+ /**
343
+ * @deprecated
344
+ *
345
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Event/returnValue)
346
+ */
347
+ returnValue: boolean;
348
+ /**
349
+ * @deprecated
350
+ *
351
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Event/srcElement)
352
+ */
353
+ readonly srcElement: EventTarget | null;
354
+ /**
355
+ * Returns the object to which event is dispatched (its target).
356
+ *
357
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Event/target)
358
+ */
359
+ readonly target: EventTarget | null;
360
+ /**
361
+ * Returns the event's timestamp as the number of milliseconds measured relative to the time origin.
362
+ *
363
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Event/timeStamp)
364
+ */
365
+ readonly timeStamp: DOMHighResTimeStamp;
366
+ /**
367
+ * Returns the type of event, e.g. "click", "hashchange", or "submit".
368
+ *
369
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Event/type)
370
+ */
371
+ readonly type: string;
372
+ readonly NONE: 0;
373
+ readonly CAPTURING_PHASE: 1;
374
+ readonly AT_TARGET: 2;
375
+ readonly BUBBLING_PHASE: 3;
376
+ /**
377
+ * Returns the invocation target objects of event's path (objects on which listeners will be invoked), except for any nodes in shadow trees of which the shadow root's mode is "closed" that are not reachable from event's currentTarget.
378
+ *
379
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Event/composedPath)
380
+ */
381
+ composedPath(): EventTarget[];
382
+ /**
383
+ * @deprecated
384
+ *
385
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Event/initEvent)
386
+ */
387
+ initEvent(type: string, bubbles?: boolean, cancelable?: boolean): void;
388
+ /**
389
+ * If invoked when the cancelable attribute value is true, and while executing a listener for the event with passive set to false, signals to the operation that caused event to be dispatched that it needs to be canceled.
390
+ *
391
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Event/preventDefault)
392
+ */
393
+ preventDefault(): void;
394
+ /**
395
+ * Invoking this method prevents event from reaching any registered event listeners after the current one finishes running and, when dispatched in a tree, also prevents event from reaching any other objects.
396
+ *
397
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Event/stopImmediatePropagation)
398
+ */
399
+ stopImmediatePropagation(): void;
400
+ /**
401
+ * When dispatched in a tree, invoking this method prevents event from reaching any objects other than the current object.
402
+ *
403
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Event/stopPropagation)
404
+ */
405
+ stopPropagation(): void;
406
+ }
407
+ export interface AbortSignalEventMap {
408
+ "abort": Event;
409
+ }
410
+ export interface AddEventListenerOptions extends EventListenerOptions {
411
+ once?: boolean;
412
+ passive?: boolean;
413
+ signal?: AbortSignal;
414
+ }
415
+ export interface EventListenerOptions {
416
+ capture?: boolean;
417
+ }
196
418
  export interface RsaOaepParams extends Algorithm {
197
419
  label?: BufferSource;
198
420
  }
@@ -296,6 +518,12 @@ export interface RsaPssParams extends Algorithm {
296
518
  export interface EcdsaParams extends Algorithm {
297
519
  hash: HashAlgorithmIdentifier;
298
520
  }
521
+ export interface EventListener {
522
+ (evt: Event): void;
523
+ }
524
+ export interface EventListenerObject {
525
+ handleEvent(object: Event): void;
526
+ }
299
527
  export interface Algorithm {
300
528
  name: string;
301
529
  }
@@ -313,15 +541,20 @@ export interface RsaKeyGenParams extends Algorithm {
313
541
  }
314
542
  export type AttestationConveyancePreference = "direct" | "enterprise" | "indirect" | "none";
315
543
  export type AuthenticatorTransport = "ble" | "hybrid" | "internal" | "nfc" | "usb";
544
+ export type Base64URLString = string;
316
545
  export type COSEAlgorithmIdentifier = number;
317
546
  export type ResidentKeyRequirement = "discouraged" | "preferred" | "required";
318
547
  export type UserVerificationRequirement = "discouraged" | "preferred" | "required";
319
548
  export type AuthenticatorAttachment = "cross-platform" | "platform";
549
+ export type CredentialMediationRequirement = "conditional" | "optional" | "required" | "silent";
550
+ export type PublicKeyCredentialJSON = any;
320
551
  export type BufferSource = ArrayBufferView | ArrayBuffer;
321
552
  export type PublicKeyCredentialType = "public-key";
553
+ export type EventListenerOrEventListenerObject = EventListener | EventListenerObject;
322
554
  export type AlgorithmIdentifier = Algorithm | string;
323
555
  export type KeyUsage = "decrypt" | "deriveBits" | "deriveKey" | "encrypt" | "sign" | "unwrapKey" | "verify" | "wrapKey";
324
556
  export type KeyFormat = "jwk" | "pkcs8" | "raw" | "spki";
557
+ export type DOMHighResTimeStamp = number;
325
558
  export type KeyType = "private" | "public" | "secret";
326
559
  export type HashAlgorithmIdentifier = AlgorithmIdentifier;
327
560
  export type NamedCurve = string;
@@ -1 +1 @@
1
- {"version":3,"file":"dom.d.ts","sourceRoot":"","sources":["../../src/types/dom.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dom.d.ts","sourceRoot":"","sources":["../../src/types/dom.ts"],"names":[],"mappings":"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"}