@simplewebauthn/server 13.1.2 → 13.2.1

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 (184) hide show
  1. package/esm/authentication/generateAuthenticationOptions.d.ts +2 -2
  2. package/esm/authentication/generateAuthenticationOptions.d.ts.map +1 -1
  3. package/esm/helpers/convertAAGUIDToString.d.ts +2 -1
  4. package/esm/helpers/convertAAGUIDToString.d.ts.map +1 -1
  5. package/esm/helpers/convertCOSEtoPKCS.d.ts +2 -1
  6. package/esm/helpers/convertCOSEtoPKCS.d.ts.map +1 -1
  7. package/esm/helpers/convertCertBufferToPEM.d.ts +2 -2
  8. package/esm/helpers/convertCertBufferToPEM.d.ts.map +1 -1
  9. package/esm/helpers/convertPEMToBytes.d.ts +2 -1
  10. package/esm/helpers/convertPEMToBytes.d.ts.map +1 -1
  11. package/esm/helpers/convertX509PublicKeyToCOSE.d.ts +2 -1
  12. package/esm/helpers/convertX509PublicKeyToCOSE.d.ts.map +1 -1
  13. package/esm/helpers/convertX509PublicKeyToCOSE.js +2 -2
  14. package/esm/helpers/cose.d.ts +11 -10
  15. package/esm/helpers/cose.d.ts.map +1 -1
  16. package/esm/helpers/cose.js +0 -11
  17. package/esm/helpers/decodeAttestationObject.d.ts +8 -7
  18. package/esm/helpers/decodeAttestationObject.d.ts.map +1 -1
  19. package/esm/helpers/decodeAuthenticatorExtensions.d.ts +2 -1
  20. package/esm/helpers/decodeAuthenticatorExtensions.d.ts.map +1 -1
  21. package/esm/helpers/decodeCredentialPublicKey.d.ts +3 -2
  22. package/esm/helpers/decodeCredentialPublicKey.d.ts.map +1 -1
  23. package/esm/helpers/generateChallenge.d.ts +3 -2
  24. package/esm/helpers/generateChallenge.d.ts.map +1 -1
  25. package/esm/helpers/generateUserID.d.ts +3 -2
  26. package/esm/helpers/generateUserID.d.ts.map +1 -1
  27. package/esm/helpers/getCertificateInfo.d.ts +2 -1
  28. package/esm/helpers/getCertificateInfo.d.ts.map +1 -1
  29. package/esm/helpers/isCertRevoked.d.ts +2 -2
  30. package/esm/helpers/isCertRevoked.d.ts.map +1 -1
  31. package/esm/helpers/isCertRevoked.js +19 -22
  32. package/esm/helpers/iso/isoBase64URL.d.ts +3 -3
  33. package/esm/helpers/iso/isoBase64URL.d.ts.map +1 -1
  34. package/esm/helpers/iso/isoBase64URL.js +6 -1
  35. package/esm/helpers/iso/isoCBOR.d.ts +3 -2
  36. package/esm/helpers/iso/isoCBOR.d.ts.map +1 -1
  37. package/esm/helpers/iso/isoCrypto/digest.d.ts +3 -2
  38. package/esm/helpers/iso/isoCrypto/digest.d.ts.map +1 -1
  39. package/esm/helpers/iso/isoCrypto/getRandomValues.d.ts +2 -1
  40. package/esm/helpers/iso/isoCrypto/getRandomValues.d.ts.map +1 -1
  41. package/esm/helpers/iso/isoCrypto/unwrapEC2Signature.d.ts +2 -1
  42. package/esm/helpers/iso/isoCrypto/unwrapEC2Signature.d.ts.map +1 -1
  43. package/esm/helpers/iso/isoCrypto/verify.d.ts +4 -3
  44. package/esm/helpers/iso/isoCrypto/verify.d.ts.map +1 -1
  45. package/esm/helpers/iso/isoCrypto/verifyEC2.d.ts +4 -3
  46. package/esm/helpers/iso/isoCrypto/verifyEC2.d.ts.map +1 -1
  47. package/esm/helpers/iso/isoCrypto/verifyOKP.d.ts +4 -3
  48. package/esm/helpers/iso/isoCrypto/verifyOKP.d.ts.map +1 -1
  49. package/esm/helpers/iso/isoCrypto/verifyRSA.d.ts +4 -3
  50. package/esm/helpers/iso/isoCrypto/verifyRSA.d.ts.map +1 -1
  51. package/esm/helpers/iso/isoUint8Array.d.ts +9 -8
  52. package/esm/helpers/iso/isoUint8Array.d.ts.map +1 -1
  53. package/esm/helpers/matchExpectedRPID.d.ts +2 -1
  54. package/esm/helpers/matchExpectedRPID.d.ts.map +1 -1
  55. package/esm/helpers/parseAuthenticatorData.d.ts +10 -9
  56. package/esm/helpers/parseAuthenticatorData.d.ts.map +1 -1
  57. package/esm/helpers/toHash.d.ts +3 -2
  58. package/esm/helpers/toHash.d.ts.map +1 -1
  59. package/esm/helpers/validateCertificatePath.d.ts.map +1 -1
  60. package/esm/helpers/validateCertificatePath.js +85 -90
  61. package/esm/helpers/validateExtFIDOGenCEAAGUID.d.ts +3 -2
  62. package/esm/helpers/validateExtFIDOGenCEAAGUID.d.ts.map +1 -1
  63. package/esm/helpers/verifySignature.d.ts +5 -4
  64. package/esm/helpers/verifySignature.d.ts.map +1 -1
  65. package/esm/metadata/verifyAttestationWithMetadata.d.ts +3 -2
  66. package/esm/metadata/verifyAttestationWithMetadata.d.ts.map +1 -1
  67. package/esm/metadata/verifyJWT.d.ts +2 -1
  68. package/esm/metadata/verifyJWT.d.ts.map +1 -1
  69. package/esm/registration/generateRegistrationOptions.d.ts +3 -3
  70. package/esm/registration/generateRegistrationOptions.d.ts.map +1 -1
  71. package/esm/registration/verifications/tpm/parseCertInfo.d.ts +9 -8
  72. package/esm/registration/verifications/tpm/parseCertInfo.d.ts.map +1 -1
  73. package/esm/registration/verifications/tpm/parsePubArea.d.ts +4 -3
  74. package/esm/registration/verifications/tpm/parsePubArea.d.ts.map +1 -1
  75. package/esm/registration/verifications/tpm/verifyAttestationTPM.d.ts.map +1 -1
  76. package/esm/registration/verifications/verifyAttestationAndroidKey.js +2 -2
  77. package/esm/registration/verifications/verifyAttestationAndroidSafetyNet.d.ts.map +1 -1
  78. package/esm/registration/verifications/verifyAttestationAndroidSafetyNet.js +2 -2
  79. package/esm/registration/verifyRegistrationResponse.d.ts +16 -10
  80. package/esm/registration/verifyRegistrationResponse.d.ts.map +1 -1
  81. package/esm/registration/verifyRegistrationResponse.js +12 -10
  82. package/esm/services/defaultRootCerts/mds.d.ts +1 -1
  83. package/esm/services/defaultRootCerts/mds.d.ts.map +1 -1
  84. package/esm/services/defaultRootCerts/mds.js +20 -20
  85. package/esm/services/metadataService.d.ts +2 -1
  86. package/esm/services/metadataService.d.ts.map +1 -1
  87. package/esm/services/metadataService.js +1 -1
  88. package/esm/services/settingsService.d.ts +2 -1
  89. package/esm/services/settingsService.d.ts.map +1 -1
  90. package/esm/types/index.d.ts +16 -1
  91. package/esm/types/index.d.ts.map +1 -1
  92. package/package.json +3 -2
  93. package/script/authentication/generateAuthenticationOptions.d.ts +2 -2
  94. package/script/authentication/generateAuthenticationOptions.d.ts.map +1 -1
  95. package/script/helpers/convertAAGUIDToString.d.ts +2 -1
  96. package/script/helpers/convertAAGUIDToString.d.ts.map +1 -1
  97. package/script/helpers/convertCOSEtoPKCS.d.ts +2 -1
  98. package/script/helpers/convertCOSEtoPKCS.d.ts.map +1 -1
  99. package/script/helpers/convertCertBufferToPEM.d.ts +2 -2
  100. package/script/helpers/convertCertBufferToPEM.d.ts.map +1 -1
  101. package/script/helpers/convertPEMToBytes.d.ts +2 -1
  102. package/script/helpers/convertPEMToBytes.d.ts.map +1 -1
  103. package/script/helpers/convertX509PublicKeyToCOSE.d.ts +2 -1
  104. package/script/helpers/convertX509PublicKeyToCOSE.d.ts.map +1 -1
  105. package/script/helpers/convertX509PublicKeyToCOSE.js +2 -2
  106. package/script/helpers/cose.d.ts +11 -10
  107. package/script/helpers/cose.d.ts.map +1 -1
  108. package/script/helpers/cose.js +0 -11
  109. package/script/helpers/decodeAttestationObject.d.ts +8 -7
  110. package/script/helpers/decodeAttestationObject.d.ts.map +1 -1
  111. package/script/helpers/decodeAuthenticatorExtensions.d.ts +2 -1
  112. package/script/helpers/decodeAuthenticatorExtensions.d.ts.map +1 -1
  113. package/script/helpers/decodeCredentialPublicKey.d.ts +3 -2
  114. package/script/helpers/decodeCredentialPublicKey.d.ts.map +1 -1
  115. package/script/helpers/generateChallenge.d.ts +3 -2
  116. package/script/helpers/generateChallenge.d.ts.map +1 -1
  117. package/script/helpers/generateUserID.d.ts +3 -2
  118. package/script/helpers/generateUserID.d.ts.map +1 -1
  119. package/script/helpers/getCertificateInfo.d.ts +2 -1
  120. package/script/helpers/getCertificateInfo.d.ts.map +1 -1
  121. package/script/helpers/isCertRevoked.d.ts +2 -2
  122. package/script/helpers/isCertRevoked.d.ts.map +1 -1
  123. package/script/helpers/isCertRevoked.js +19 -22
  124. package/script/helpers/iso/isoBase64URL.d.ts +3 -3
  125. package/script/helpers/iso/isoBase64URL.d.ts.map +1 -1
  126. package/script/helpers/iso/isoBase64URL.js +6 -1
  127. package/script/helpers/iso/isoCBOR.d.ts +3 -2
  128. package/script/helpers/iso/isoCBOR.d.ts.map +1 -1
  129. package/script/helpers/iso/isoCrypto/digest.d.ts +3 -2
  130. package/script/helpers/iso/isoCrypto/digest.d.ts.map +1 -1
  131. package/script/helpers/iso/isoCrypto/getRandomValues.d.ts +2 -1
  132. package/script/helpers/iso/isoCrypto/getRandomValues.d.ts.map +1 -1
  133. package/script/helpers/iso/isoCrypto/unwrapEC2Signature.d.ts +2 -1
  134. package/script/helpers/iso/isoCrypto/unwrapEC2Signature.d.ts.map +1 -1
  135. package/script/helpers/iso/isoCrypto/verify.d.ts +4 -3
  136. package/script/helpers/iso/isoCrypto/verify.d.ts.map +1 -1
  137. package/script/helpers/iso/isoCrypto/verifyEC2.d.ts +4 -3
  138. package/script/helpers/iso/isoCrypto/verifyEC2.d.ts.map +1 -1
  139. package/script/helpers/iso/isoCrypto/verifyOKP.d.ts +4 -3
  140. package/script/helpers/iso/isoCrypto/verifyOKP.d.ts.map +1 -1
  141. package/script/helpers/iso/isoCrypto/verifyRSA.d.ts +4 -3
  142. package/script/helpers/iso/isoCrypto/verifyRSA.d.ts.map +1 -1
  143. package/script/helpers/iso/isoUint8Array.d.ts +9 -8
  144. package/script/helpers/iso/isoUint8Array.d.ts.map +1 -1
  145. package/script/helpers/iso/isoUint8Array.js +4 -4
  146. package/script/helpers/matchExpectedRPID.d.ts +2 -1
  147. package/script/helpers/matchExpectedRPID.d.ts.map +1 -1
  148. package/script/helpers/parseAuthenticatorData.d.ts +10 -9
  149. package/script/helpers/parseAuthenticatorData.d.ts.map +1 -1
  150. package/script/helpers/toHash.d.ts +3 -2
  151. package/script/helpers/toHash.d.ts.map +1 -1
  152. package/script/helpers/validateCertificatePath.d.ts.map +1 -1
  153. package/script/helpers/validateCertificatePath.js +85 -90
  154. package/script/helpers/validateExtFIDOGenCEAAGUID.d.ts +3 -2
  155. package/script/helpers/validateExtFIDOGenCEAAGUID.d.ts.map +1 -1
  156. package/script/helpers/verifySignature.d.ts +5 -4
  157. package/script/helpers/verifySignature.d.ts.map +1 -1
  158. package/script/metadata/verifyAttestationWithMetadata.d.ts +3 -2
  159. package/script/metadata/verifyAttestationWithMetadata.d.ts.map +1 -1
  160. package/script/metadata/verifyJWT.d.ts +2 -1
  161. package/script/metadata/verifyJWT.d.ts.map +1 -1
  162. package/script/registration/generateRegistrationOptions.d.ts +3 -3
  163. package/script/registration/generateRegistrationOptions.d.ts.map +1 -1
  164. package/script/registration/verifications/tpm/parseCertInfo.d.ts +9 -8
  165. package/script/registration/verifications/tpm/parseCertInfo.d.ts.map +1 -1
  166. package/script/registration/verifications/tpm/parsePubArea.d.ts +4 -3
  167. package/script/registration/verifications/tpm/parsePubArea.d.ts.map +1 -1
  168. package/script/registration/verifications/tpm/verifyAttestationTPM.d.ts.map +1 -1
  169. package/script/registration/verifications/verifyAttestationAndroidKey.js +2 -2
  170. package/script/registration/verifications/verifyAttestationAndroidSafetyNet.d.ts.map +1 -1
  171. package/script/registration/verifications/verifyAttestationAndroidSafetyNet.js +2 -2
  172. package/script/registration/verifyRegistrationResponse.d.ts +16 -10
  173. package/script/registration/verifyRegistrationResponse.d.ts.map +1 -1
  174. package/script/registration/verifyRegistrationResponse.js +12 -10
  175. package/script/services/defaultRootCerts/mds.d.ts +1 -1
  176. package/script/services/defaultRootCerts/mds.d.ts.map +1 -1
  177. package/script/services/defaultRootCerts/mds.js +20 -20
  178. package/script/services/metadataService.d.ts +2 -1
  179. package/script/services/metadataService.d.ts.map +1 -1
  180. package/script/services/metadataService.js +1 -1
  181. package/script/services/settingsService.d.ts +2 -1
  182. package/script/services/settingsService.d.ts.map +1 -1
  183. package/script/types/index.d.ts +16 -1
  184. package/script/types/index.d.ts.map +1 -1
@@ -12,24 +12,24 @@ exports.GlobalSign_Root_CA_R3 = void 0;
12
12
  * CB:B5:22:D7:B7:F1:27:AD:6A:01:13:86:5B:DF:1C:D4:10:2E:7D:07:59:AF:63:5A:7C:F4:72:0D:C9:63:C5:3B
13
13
  */
14
14
  exports.GlobalSign_Root_CA_R3 = `-----BEGIN CERTIFICATE-----
15
- MIIDXzCCAkegAwIBAgILBAAAAAABIVhTCKIwDQYJKoZIhvcNAQELBQAwTDEgMB4G
16
- A1UECxMXR2xvYmFsU2lnbiBSb290IENBIC0gUjMxEzARBgNVBAoTCkdsb2JhbFNp
17
- Z24xEzARBgNVBAMTCkdsb2JhbFNpZ24wHhcNMDkwMzE4MTAwMDAwWhcNMjkwMzE4
18
- MTAwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxTaWduIFJvb3QgQ0EgLSBSMzETMBEG
19
- A1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2lnbjCCASIwDQYJKoZI
20
- hvcNAQEBBQADggEPADCCAQoCggEBAMwldpB5BngiFvXAg7aEyiie/QV2EcWtiHL8
21
- RgJDx7KKnQRfJMsuS+FggkbhUqsMgUdwbN1k0ev1LKMPgj0MK66X17YUhhB5uzsT
22
- gHeMCOFJ0mpiLx9e+pZo34knlTifBtc+ycsmWQ1z3rDI6SYOgxXG71uL0gRgykmm
23
- KPZpO/bLyCiR5Z2KYVc3rHQU3HTgOu5yLy6c+9C7v/U9AOEGM+iCK65TpjoWc4zd
24
- QQ4gOsC0p6Hpsk+QLjJg6VfLuQSSaGjlOCZgdbKfd/+RFO+uIEn8rUAVSNECMWEZ
25
- XriX7613t2Saer9fwRPvm2L7DWzgVGkWqQPabumDk3F2xmmFghcCAwEAAaNCMEAw
26
- DgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFI/wS3+o
27
- LkUkrk1Q+mOai97i3Ru8MA0GCSqGSIb3DQEBCwUAA4IBAQBLQNvAUKr+yAzv95ZU
28
- RUm7lgAJQayzE4aGKAczymvmdLm6AC2upArT9fHxD4q/c2dKg8dEe3jgr25sbwMp
29
- jjM5RcOO5LlXbKr8EpbsU8Yt5CRsuZRj+9xTaGdWPoO4zzUhw8lo/s7awlOqzJCK
30
- 6fBdRoyV3XpYKBovHd7NADdBj+1EbddTKJd+82cEHhXXipa0095MJ6RMG3NzdvQX
31
- mcIfeg7jLQitChws/zyrVQ4PkX4268NXSb7hLi18YIvDQVETI53O9zJrlAGomecs
32
- Mx86OyXShkDOOyyGeMlhLxS67ttVb9+E7gUJTb0o2HLO02JQZR7rkpeDMdmztcpH
33
- WD9f
34
- -----END CERTIFICATE-----
15
+ MIIDXzCCAkegAwIBAgILBAAAAAABIVhTCKIwDQYJKoZIhvcNAQELBQAwTDEgMB4G
16
+ A1UECxMXR2xvYmFsU2lnbiBSb290IENBIC0gUjMxEzARBgNVBAoTCkdsb2JhbFNp
17
+ Z24xEzARBgNVBAMTCkdsb2JhbFNpZ24wHhcNMDkwMzE4MTAwMDAwWhcNMjkwMzE4
18
+ MTAwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxTaWduIFJvb3QgQ0EgLSBSMzETMBEG
19
+ A1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2lnbjCCASIwDQYJKoZI
20
+ hvcNAQEBBQADggEPADCCAQoCggEBAMwldpB5BngiFvXAg7aEyiie/QV2EcWtiHL8
21
+ RgJDx7KKnQRfJMsuS+FggkbhUqsMgUdwbN1k0ev1LKMPgj0MK66X17YUhhB5uzsT
22
+ gHeMCOFJ0mpiLx9e+pZo34knlTifBtc+ycsmWQ1z3rDI6SYOgxXG71uL0gRgykmm
23
+ KPZpO/bLyCiR5Z2KYVc3rHQU3HTgOu5yLy6c+9C7v/U9AOEGM+iCK65TpjoWc4zd
24
+ QQ4gOsC0p6Hpsk+QLjJg6VfLuQSSaGjlOCZgdbKfd/+RFO+uIEn8rUAVSNECMWEZ
25
+ XriX7613t2Saer9fwRPvm2L7DWzgVGkWqQPabumDk3F2xmmFghcCAwEAAaNCMEAw
26
+ DgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFI/wS3+o
27
+ LkUkrk1Q+mOai97i3Ru8MA0GCSqGSIb3DQEBCwUAA4IBAQBLQNvAUKr+yAzv95ZU
28
+ RUm7lgAJQayzE4aGKAczymvmdLm6AC2upArT9fHxD4q/c2dKg8dEe3jgr25sbwMp
29
+ jjM5RcOO5LlXbKr8EpbsU8Yt5CRsuZRj+9xTaGdWPoO4zzUhw8lo/s7awlOqzJCK
30
+ 6fBdRoyV3XpYKBovHd7NADdBj+1EbddTKJd+82cEHhXXipa0095MJ6RMG3NzdvQX
31
+ mcIfeg7jLQitChws/zyrVQ4PkX4268NXSb7hLi18YIvDQVETI53O9zJrlAGomecs
32
+ Mx86OyXShkDOOyyGeMlhLxS67ttVb9+E7gUJTb0o2HLO02JQZR7rkpeDMdmztcpH
33
+ WD9f
34
+ -----END CERTIFICATE-----
35
35
  `;
@@ -1,4 +1,5 @@
1
1
  import type { MetadataStatement } from '../metadata/mdsTypes.js';
2
+ import type { Uint8Array_ } from '../types/index.js';
2
3
  /**
3
4
  * Allow MetadataService to accommodate unregistered AAGUIDs (`"permissive"`), or only allow
4
5
  * registered AAGUIDs (`"strict"`). Currently primarily impacts how `getStatement()` operates
@@ -47,7 +48,7 @@ export declare class BaseMetadataService implements MetadataService {
47
48
  statements?: MetadataStatement[];
48
49
  verificationMode?: VerificationMode;
49
50
  }): Promise<void>;
50
- getStatement(aaguid: string | Uint8Array): Promise<MetadataStatement | undefined>;
51
+ getStatement(aaguid: string | Uint8Array_): Promise<MetadataStatement | undefined>;
51
52
  /**
52
53
  * Download and process the latest BLOB from MDS
53
54
  */
@@ -1 +1 @@
1
- {"version":3,"file":"metadataService.d.ts","sourceRoot":"","sources":["../../src/services/metadataService.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAIV,iBAAiB,EAClB,MAAM,yBAAyB,CAAC;AA6BjC;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG,YAAY,GAAG,QAAQ,CAAC;AAIvD,UAAU,eAAe;IACvB;;;;;;;;;;;;OAYG;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;IA+DV,YAAY,CAChB,MAAM,EAAE,MAAM,GAAG,UAAU,GAC1B,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC;IA6DzC;;OAEG;YACW,YAAY;IAoE1B;;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":"AAGA,OAAO,KAAK,EAIV,iBAAiB,EAClB,MAAM,yBAAyB,CAAC;AAKjC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAyBrD;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG,YAAY,GAAG,QAAQ,CAAC;AAIvD,UAAU,eAAe;IACvB;;;;;;;;;;;;OAYG;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;IA+DV,YAAY,CAChB,MAAM,EAAE,MAAM,GAAG,WAAW,GAC3B,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC;IA6DzC;;OAEG;YACW,YAAY;IAqE1B;;OAEG;IACH,OAAO,CAAC,eAAe;IAgCvB;;OAEG;IACH,OAAO,CAAC,QAAQ;CAWjB;AAED;;;;;GAKG;AACH,eAAO,MAAM,eAAe,EAAE,eAA2C,CAAC"}
@@ -180,7 +180,7 @@ class BaseMetadataService {
180
180
  const _error = error;
181
181
  // From FIDO MDS docs: "ignore the file if the chain cannot be verified or if one of the
182
182
  // chain certificates is revoked"
183
- throw new Error(`BLOB certificate path could not be validated: ${_error.message}`);
183
+ throw new Error('BLOB certificate path could not be validated', { cause: _error });
184
184
  }
185
185
  // Verify the BLOB JWT signature
186
186
  const leafCert = headerCertsPEM[0];
@@ -1,4 +1,5 @@
1
1
  import type { AttestationFormat } from '../helpers/decodeAttestationObject.js';
2
+ import type { Uint8Array_ } from '../types/index.js';
2
3
  export type RootCertIdentifier = AttestationFormat | 'mds';
3
4
  interface SettingsService {
4
5
  /**
@@ -10,7 +11,7 @@ interface SettingsService {
10
11
  */
11
12
  setRootCertificates(opts: {
12
13
  identifier: RootCertIdentifier;
13
- certificates: (Uint8Array | string)[];
14
+ certificates: (Uint8Array_ | string)[];
14
15
  }): void;
15
16
  /**
16
17
  * Get any registered root certificates for the specified attestation format
@@ -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;AAa/E,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,UAAU,GAAG,MAAM,CAAC,EAAE,CAAC;KACvC,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;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"}
@@ -130,7 +130,7 @@ export interface AuthenticatorAssertionResponseJSON {
130
130
  */
131
131
  export type WebAuthnCredential = {
132
132
  id: Base64URLString;
133
- publicKey: Uint8Array;
133
+ publicKey: Uint8Array_;
134
134
  counter: number;
135
135
  transports?: AuthenticatorTransportFuture[];
136
136
  };
@@ -202,4 +202,19 @@ export type PublicKeyCredentialHint = 'hybrid' | 'security-key' | 'client-device
202
202
  * See https://www.iana.org/assignments/webauthn/webauthn.xhtml#webauthn-attestation-statement-format-ids
203
203
  */
204
204
  export type AttestationFormat = 'fido-u2f' | 'packed' | 'android-safetynet' | 'android-key' | 'tpm' | 'apple' | 'none';
205
+ /**
206
+ * Equivalent to `Uint8Array` before TypeScript 5.7, and `Uint8Array<ArrayBuffer>` in TypeScript 5.7
207
+ * and beyond.
208
+ *
209
+ * **Context**
210
+ *
211
+ * `Uint8Array` became a generic type in TypeScript 5.7, requiring types defined simply as
212
+ * `Uint8Array` to be refactored to `Uint8Array<ArrayBuffer>` starting in Deno 2.2. `Uint8Array` is
213
+ * _not_ generic in Deno 2.1.x and earlier, though, so this type helps bridge this gap.
214
+ *
215
+ * Inspired by Deno's std library:
216
+ *
217
+ * https://github.com/denoland/std/blob/b5a5fe4f96b91c1fe8dba5cc0270092dd11d3287/bytes/_types.ts#L11
218
+ */
219
+ export type Uint8Array_ = ReturnType<Uint8Array['slice']>;
205
220
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}