@simplewebauthn/server 10.0.1 → 11.0.0-alpha3

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 (347) hide show
  1. package/README.md +14 -6
  2. package/esm/authentication/generateAuthenticationOptions.d.ts +2 -1
  3. package/esm/authentication/generateAuthenticationOptions.d.ts.map +1 -0
  4. package/esm/authentication/verifyAuthenticationResponse.d.ts +4 -3
  5. package/esm/authentication/verifyAuthenticationResponse.d.ts.map +1 -0
  6. package/esm/authentication/verifyAuthenticationResponse.js +7 -7
  7. package/esm/helpers/convertAAGUIDToString.d.ts +1 -0
  8. package/esm/helpers/convertAAGUIDToString.d.ts.map +1 -0
  9. package/esm/helpers/convertAAGUIDToString.js +4 -4
  10. package/esm/helpers/convertCOSEtoPKCS.d.ts +1 -0
  11. package/esm/helpers/convertCOSEtoPKCS.d.ts.map +1 -0
  12. package/esm/helpers/convertCertBufferToPEM.d.ts +2 -1
  13. package/esm/helpers/convertCertBufferToPEM.d.ts.map +1 -0
  14. package/esm/helpers/convertPEMToBytes.d.ts +1 -0
  15. package/esm/helpers/convertPEMToBytes.d.ts.map +1 -0
  16. package/esm/helpers/convertX509PublicKeyToCOSE.d.ts +1 -0
  17. package/esm/helpers/convertX509PublicKeyToCOSE.d.ts.map +1 -0
  18. package/esm/helpers/convertX509PublicKeyToCOSE.js +4 -1
  19. package/esm/helpers/cose.d.ts +1 -0
  20. package/esm/helpers/cose.d.ts.map +1 -0
  21. package/esm/helpers/decodeAttestationObject.d.ts +1 -0
  22. package/esm/helpers/decodeAttestationObject.d.ts.map +1 -0
  23. package/esm/helpers/decodeAuthenticatorExtensions.d.ts +5 -14
  24. package/esm/helpers/decodeAuthenticatorExtensions.d.ts.map +1 -0
  25. package/esm/helpers/decodeClientDataJSON.d.ts +2 -1
  26. package/esm/helpers/decodeClientDataJSON.d.ts.map +1 -0
  27. package/esm/helpers/decodeCredentialPublicKey.d.ts +1 -0
  28. package/esm/helpers/decodeCredentialPublicKey.d.ts.map +1 -0
  29. package/esm/helpers/fetch.d.ts +1 -0
  30. package/esm/helpers/fetch.d.ts.map +1 -0
  31. package/esm/helpers/fetch.js +1 -1
  32. package/esm/helpers/generateChallenge.d.ts +1 -0
  33. package/esm/helpers/generateChallenge.d.ts.map +1 -0
  34. package/esm/helpers/generateUserID.d.ts +1 -0
  35. package/esm/helpers/generateUserID.d.ts.map +1 -0
  36. package/esm/helpers/getCertificateInfo.d.ts +2 -1
  37. package/esm/helpers/getCertificateInfo.d.ts.map +1 -0
  38. package/esm/helpers/getCertificateInfo.js +2 -1
  39. package/esm/helpers/index.d.ts +1 -0
  40. package/esm/helpers/index.d.ts.map +1 -0
  41. package/esm/helpers/isCertRevoked.d.ts +2 -1
  42. package/esm/helpers/isCertRevoked.d.ts.map +1 -0
  43. package/esm/helpers/isCertRevoked.js +2 -1
  44. package/esm/helpers/iso/index.d.ts +1 -0
  45. package/esm/helpers/iso/index.d.ts.map +1 -0
  46. package/esm/helpers/iso/isoBase64URL.d.ts +2 -1
  47. package/esm/helpers/iso/isoBase64URL.d.ts.map +1 -0
  48. package/esm/helpers/iso/isoBase64URL.js +1 -1
  49. package/esm/helpers/iso/isoCBOR.d.ts +2 -1
  50. package/esm/helpers/iso/isoCBOR.d.ts.map +1 -0
  51. package/esm/helpers/iso/isoCBOR.js +1 -1
  52. package/esm/helpers/iso/isoCrypto/digest.d.ts +1 -0
  53. package/esm/helpers/iso/isoCrypto/digest.d.ts.map +1 -0
  54. package/esm/helpers/iso/isoCrypto/getRandomValues.d.ts +1 -0
  55. package/esm/helpers/iso/isoCrypto/getRandomValues.d.ts.map +1 -0
  56. package/esm/helpers/iso/isoCrypto/getWebCrypto.d.ts +2 -1
  57. package/esm/helpers/iso/isoCrypto/getWebCrypto.d.ts.map +1 -0
  58. package/esm/helpers/iso/isoCrypto/importKey.d.ts +1 -0
  59. package/esm/helpers/iso/isoCrypto/importKey.d.ts.map +1 -0
  60. package/esm/helpers/iso/isoCrypto/index.d.ts +1 -0
  61. package/esm/helpers/iso/isoCrypto/index.d.ts.map +1 -0
  62. package/esm/helpers/iso/isoCrypto/mapCoseAlgToWebCryptoAlg.d.ts +1 -0
  63. package/esm/helpers/iso/isoCrypto/mapCoseAlgToWebCryptoAlg.d.ts.map +1 -0
  64. package/esm/helpers/iso/isoCrypto/mapCoseAlgToWebCryptoKeyAlgName.d.ts +1 -0
  65. package/esm/helpers/iso/isoCrypto/mapCoseAlgToWebCryptoKeyAlgName.d.ts.map +1 -0
  66. package/esm/helpers/iso/isoCrypto/structs.d.ts +1 -0
  67. package/esm/helpers/iso/isoCrypto/structs.d.ts.map +1 -0
  68. package/esm/helpers/iso/isoCrypto/unwrapEC2Signature.d.ts +1 -0
  69. package/esm/helpers/iso/isoCrypto/unwrapEC2Signature.d.ts.map +1 -0
  70. package/esm/helpers/iso/isoCrypto/unwrapEC2Signature.js +2 -1
  71. package/esm/helpers/iso/isoCrypto/verify.d.ts +1 -0
  72. package/esm/helpers/iso/isoCrypto/verify.d.ts.map +1 -0
  73. package/esm/helpers/iso/isoCrypto/verifyEC2.d.ts +1 -0
  74. package/esm/helpers/iso/isoCrypto/verifyEC2.d.ts.map +1 -0
  75. package/esm/helpers/iso/isoCrypto/verifyOKP.d.ts +1 -0
  76. package/esm/helpers/iso/isoCrypto/verifyOKP.d.ts.map +1 -0
  77. package/esm/helpers/iso/isoCrypto/verifyRSA.d.ts +1 -0
  78. package/esm/helpers/iso/isoCrypto/verifyRSA.d.ts.map +1 -0
  79. package/esm/helpers/iso/isoUint8Array.d.ts +1 -0
  80. package/esm/helpers/iso/isoUint8Array.d.ts.map +1 -0
  81. package/esm/helpers/logging.d.ts +1 -0
  82. package/esm/helpers/logging.d.ts.map +1 -0
  83. package/esm/helpers/logging.js +0 -1
  84. package/esm/helpers/mapX509SignatureAlgToCOSEAlg.d.ts +1 -0
  85. package/esm/helpers/mapX509SignatureAlgToCOSEAlg.d.ts.map +1 -0
  86. package/esm/helpers/matchExpectedRPID.d.ts +1 -0
  87. package/esm/helpers/matchExpectedRPID.d.ts.map +1 -0
  88. package/esm/helpers/parseAuthenticatorData.d.ts +1 -0
  89. package/esm/helpers/parseAuthenticatorData.d.ts.map +1 -0
  90. package/esm/helpers/parseAuthenticatorData.js +6 -6
  91. package/esm/helpers/parseBackupFlags.d.ts +2 -1
  92. package/esm/helpers/parseBackupFlags.d.ts.map +1 -0
  93. package/esm/helpers/toHash.d.ts +1 -0
  94. package/esm/helpers/toHash.d.ts.map +1 -0
  95. package/esm/helpers/validateCertificatePath.d.ts +1 -0
  96. package/esm/helpers/validateCertificatePath.d.ts.map +1 -0
  97. package/esm/helpers/validateCertificatePath.js +1 -1
  98. package/esm/helpers/validateExtFIDOGenCEAAGUID.d.ts +7 -0
  99. package/esm/helpers/validateExtFIDOGenCEAAGUID.d.ts.map +1 -0
  100. package/esm/helpers/validateExtFIDOGenCEAAGUID.js +34 -0
  101. package/esm/helpers/verifySignature.d.ts +1 -0
  102. package/esm/helpers/verifySignature.d.ts.map +1 -0
  103. package/esm/index.d.ts +1 -0
  104. package/esm/index.d.ts.map +1 -0
  105. package/esm/metadata/mdsTypes.d.ts +2 -1
  106. package/esm/metadata/mdsTypes.d.ts.map +1 -0
  107. package/esm/metadata/parseJWT.d.ts +1 -0
  108. package/esm/metadata/parseJWT.d.ts.map +1 -0
  109. package/esm/metadata/verifyAttestationWithMetadata.d.ts +2 -1
  110. package/esm/metadata/verifyAttestationWithMetadata.d.ts.map +1 -0
  111. package/esm/metadata/verifyJWT.d.ts +1 -0
  112. package/esm/metadata/verifyJWT.d.ts.map +1 -0
  113. package/esm/registration/generateRegistrationOptions.d.ts +2 -1
  114. package/esm/registration/generateRegistrationOptions.d.ts.map +1 -0
  115. package/esm/registration/verifications/tpm/constants.d.ts +1 -0
  116. package/esm/registration/verifications/tpm/constants.d.ts.map +1 -0
  117. package/esm/registration/verifications/tpm/constants.js +8 -4
  118. package/esm/registration/verifications/tpm/parseCertInfo.d.ts +1 -0
  119. package/esm/registration/verifications/tpm/parseCertInfo.d.ts.map +1 -0
  120. package/esm/registration/verifications/tpm/parsePubArea.d.ts +1 -0
  121. package/esm/registration/verifications/tpm/parsePubArea.d.ts.map +1 -0
  122. package/esm/registration/verifications/tpm/verifyAttestationTPM.d.ts +1 -0
  123. package/esm/registration/verifications/tpm/verifyAttestationTPM.d.ts.map +1 -0
  124. package/esm/registration/verifications/tpm/verifyAttestationTPM.js +11 -3
  125. package/esm/registration/verifications/verifyAttestationAndroidKey.d.ts +1 -0
  126. package/esm/registration/verifications/verifyAttestationAndroidKey.d.ts.map +1 -0
  127. package/esm/registration/verifications/verifyAttestationAndroidKey.js +3 -1
  128. package/esm/registration/verifications/verifyAttestationAndroidSafetyNet.d.ts +1 -0
  129. package/esm/registration/verifications/verifyAttestationAndroidSafetyNet.d.ts.map +1 -0
  130. package/esm/registration/verifications/verifyAttestationApple.d.ts +1 -0
  131. package/esm/registration/verifications/verifyAttestationApple.d.ts.map +1 -0
  132. package/esm/registration/verifications/verifyAttestationApple.js +2 -1
  133. package/esm/registration/verifications/verifyAttestationFIDOU2F.d.ts +1 -0
  134. package/esm/registration/verifications/verifyAttestationFIDOU2F.d.ts.map +1 -0
  135. package/esm/registration/verifications/verifyAttestationPacked.d.ts +1 -0
  136. package/esm/registration/verifications/verifyAttestationPacked.d.ts.map +1 -0
  137. package/esm/registration/verifications/verifyAttestationPacked.js +10 -3
  138. package/esm/registration/verifyRegistrationResponse.d.ts +5 -4
  139. package/esm/registration/verifyRegistrationResponse.d.ts.map +1 -0
  140. package/esm/registration/verifyRegistrationResponse.js +11 -7
  141. package/esm/services/defaultRootCerts/android-key.d.ts +1 -0
  142. package/esm/services/defaultRootCerts/android-key.d.ts.map +1 -0
  143. package/esm/services/defaultRootCerts/android-safetynet.d.ts +1 -0
  144. package/esm/services/defaultRootCerts/android-safetynet.d.ts.map +1 -0
  145. package/esm/services/defaultRootCerts/apple.d.ts +1 -0
  146. package/esm/services/defaultRootCerts/apple.d.ts.map +1 -0
  147. package/esm/services/defaultRootCerts/mds.d.ts +1 -0
  148. package/esm/services/defaultRootCerts/mds.d.ts.map +1 -0
  149. package/esm/services/metadataService.d.ts +19 -4
  150. package/esm/services/metadataService.d.ts.map +1 -0
  151. package/esm/services/metadataService.js +8 -3
  152. package/esm/services/settingsService.d.ts +17 -14
  153. package/esm/services/settingsService.d.ts.map +1 -0
  154. package/esm/services/settingsService.js +14 -0
  155. package/package.json +29 -33
  156. package/script/authentication/generateAuthenticationOptions.d.ts +2 -1
  157. package/script/authentication/generateAuthenticationOptions.d.ts.map +1 -0
  158. package/script/authentication/generateAuthenticationOptions.js +1 -2
  159. package/script/authentication/verifyAuthenticationResponse.d.ts +4 -3
  160. package/script/authentication/verifyAuthenticationResponse.d.ts.map +1 -0
  161. package/script/authentication/verifyAuthenticationResponse.js +8 -9
  162. package/script/helpers/convertAAGUIDToString.d.ts +1 -0
  163. package/script/helpers/convertAAGUIDToString.d.ts.map +1 -0
  164. package/script/helpers/convertAAGUIDToString.js +5 -6
  165. package/script/helpers/convertCOSEtoPKCS.d.ts +1 -0
  166. package/script/helpers/convertCOSEtoPKCS.d.ts.map +1 -0
  167. package/script/helpers/convertCOSEtoPKCS.js +1 -2
  168. package/script/helpers/convertCertBufferToPEM.d.ts +2 -1
  169. package/script/helpers/convertCertBufferToPEM.d.ts.map +1 -0
  170. package/script/helpers/convertCertBufferToPEM.js +1 -2
  171. package/script/helpers/convertPEMToBytes.d.ts +1 -0
  172. package/script/helpers/convertPEMToBytes.d.ts.map +1 -0
  173. package/script/helpers/convertPEMToBytes.js +1 -2
  174. package/script/helpers/convertX509PublicKeyToCOSE.d.ts +1 -0
  175. package/script/helpers/convertX509PublicKeyToCOSE.d.ts.map +1 -0
  176. package/script/helpers/convertX509PublicKeyToCOSE.js +11 -9
  177. package/script/helpers/cose.d.ts +1 -0
  178. package/script/helpers/cose.d.ts.map +1 -0
  179. package/script/helpers/cose.js +11 -11
  180. package/script/helpers/decodeAttestationObject.d.ts +1 -0
  181. package/script/helpers/decodeAttestationObject.d.ts.map +1 -0
  182. package/script/helpers/decodeAttestationObject.js +2 -2
  183. package/script/helpers/decodeAuthenticatorExtensions.d.ts +5 -14
  184. package/script/helpers/decodeAuthenticatorExtensions.d.ts.map +1 -0
  185. package/script/helpers/decodeAuthenticatorExtensions.js +1 -2
  186. package/script/helpers/decodeClientDataJSON.d.ts +2 -1
  187. package/script/helpers/decodeClientDataJSON.d.ts.map +1 -0
  188. package/script/helpers/decodeClientDataJSON.js +2 -2
  189. package/script/helpers/decodeCredentialPublicKey.d.ts +1 -0
  190. package/script/helpers/decodeCredentialPublicKey.d.ts.map +1 -0
  191. package/script/helpers/decodeCredentialPublicKey.js +2 -2
  192. package/script/helpers/fetch.d.ts +1 -0
  193. package/script/helpers/fetch.d.ts.map +1 -0
  194. package/script/helpers/fetch.js +4 -4
  195. package/script/helpers/generateChallenge.d.ts +1 -0
  196. package/script/helpers/generateChallenge.d.ts.map +1 -0
  197. package/script/helpers/generateChallenge.js +2 -2
  198. package/script/helpers/generateUserID.d.ts +1 -0
  199. package/script/helpers/generateUserID.d.ts.map +1 -0
  200. package/script/helpers/generateUserID.js +2 -2
  201. package/script/helpers/getCertificateInfo.d.ts +2 -1
  202. package/script/helpers/getCertificateInfo.d.ts.map +1 -0
  203. package/script/helpers/getCertificateInfo.js +6 -6
  204. package/script/helpers/index.d.ts +1 -0
  205. package/script/helpers/index.d.ts.map +1 -0
  206. package/script/helpers/isCertRevoked.d.ts +2 -1
  207. package/script/helpers/isCertRevoked.d.ts.map +1 -0
  208. package/script/helpers/isCertRevoked.js +10 -10
  209. package/script/helpers/iso/index.d.ts +1 -0
  210. package/script/helpers/iso/index.d.ts.map +1 -0
  211. package/script/helpers/iso/isoBase64URL.d.ts +2 -1
  212. package/script/helpers/iso/isoBase64URL.d.ts.map +1 -0
  213. package/script/helpers/iso/isoBase64URL.js +20 -18
  214. package/script/helpers/iso/isoCBOR.d.ts +2 -1
  215. package/script/helpers/iso/isoCBOR.d.ts.map +1 -0
  216. package/script/helpers/iso/isoCBOR.js +28 -6
  217. package/script/helpers/iso/isoCrypto/digest.d.ts +1 -0
  218. package/script/helpers/iso/isoCrypto/digest.d.ts.map +1 -0
  219. package/script/helpers/iso/isoCrypto/digest.js +1 -2
  220. package/script/helpers/iso/isoCrypto/getRandomValues.d.ts +1 -0
  221. package/script/helpers/iso/isoCrypto/getRandomValues.d.ts.map +1 -0
  222. package/script/helpers/iso/isoCrypto/getRandomValues.js +1 -2
  223. package/script/helpers/iso/isoCrypto/getWebCrypto.d.ts +2 -1
  224. package/script/helpers/iso/isoCrypto/getWebCrypto.d.ts.map +1 -0
  225. package/script/helpers/iso/isoCrypto/getWebCrypto.js +2 -2
  226. package/script/helpers/iso/isoCrypto/importKey.d.ts +1 -0
  227. package/script/helpers/iso/isoCrypto/importKey.d.ts.map +1 -0
  228. package/script/helpers/iso/isoCrypto/importKey.js +1 -2
  229. package/script/helpers/iso/isoCrypto/index.d.ts +1 -0
  230. package/script/helpers/iso/isoCrypto/index.d.ts.map +1 -0
  231. package/script/helpers/iso/isoCrypto/mapCoseAlgToWebCryptoAlg.d.ts +1 -0
  232. package/script/helpers/iso/isoCrypto/mapCoseAlgToWebCryptoAlg.d.ts.map +1 -0
  233. package/script/helpers/iso/isoCrypto/mapCoseAlgToWebCryptoAlg.js +1 -2
  234. package/script/helpers/iso/isoCrypto/mapCoseAlgToWebCryptoKeyAlgName.d.ts +1 -0
  235. package/script/helpers/iso/isoCrypto/mapCoseAlgToWebCryptoKeyAlgName.d.ts.map +1 -0
  236. package/script/helpers/iso/isoCrypto/mapCoseAlgToWebCryptoKeyAlgName.js +1 -2
  237. package/script/helpers/iso/isoCrypto/structs.d.ts +1 -0
  238. package/script/helpers/iso/isoCrypto/structs.d.ts.map +1 -0
  239. package/script/helpers/iso/isoCrypto/unwrapEC2Signature.d.ts +1 -0
  240. package/script/helpers/iso/isoCrypto/unwrapEC2Signature.d.ts.map +1 -0
  241. package/script/helpers/iso/isoCrypto/unwrapEC2Signature.js +4 -4
  242. package/script/helpers/iso/isoCrypto/verify.d.ts +1 -0
  243. package/script/helpers/iso/isoCrypto/verify.d.ts.map +1 -0
  244. package/script/helpers/iso/isoCrypto/verify.js +1 -2
  245. package/script/helpers/iso/isoCrypto/verifyEC2.d.ts +1 -0
  246. package/script/helpers/iso/isoCrypto/verifyEC2.d.ts.map +1 -0
  247. package/script/helpers/iso/isoCrypto/verifyEC2.js +1 -2
  248. package/script/helpers/iso/isoCrypto/verifyOKP.d.ts +1 -0
  249. package/script/helpers/iso/isoCrypto/verifyOKP.d.ts.map +1 -0
  250. package/script/helpers/iso/isoCrypto/verifyOKP.js +1 -2
  251. package/script/helpers/iso/isoCrypto/verifyRSA.d.ts +1 -0
  252. package/script/helpers/iso/isoCrypto/verifyRSA.d.ts.map +1 -0
  253. package/script/helpers/iso/isoCrypto/verifyRSA.js +1 -2
  254. package/script/helpers/iso/isoUint8Array.d.ts +1 -0
  255. package/script/helpers/iso/isoUint8Array.d.ts.map +1 -0
  256. package/script/helpers/iso/isoUint8Array.js +8 -9
  257. package/script/helpers/logging.d.ts +1 -0
  258. package/script/helpers/logging.d.ts.map +1 -0
  259. package/script/helpers/logging.js +2 -4
  260. package/script/helpers/mapX509SignatureAlgToCOSEAlg.d.ts +1 -0
  261. package/script/helpers/mapX509SignatureAlgToCOSEAlg.d.ts.map +1 -0
  262. package/script/helpers/mapX509SignatureAlgToCOSEAlg.js +1 -2
  263. package/script/helpers/matchExpectedRPID.d.ts +1 -0
  264. package/script/helpers/matchExpectedRPID.d.ts.map +1 -0
  265. package/script/helpers/matchExpectedRPID.js +1 -2
  266. package/script/helpers/parseAuthenticatorData.d.ts +1 -0
  267. package/script/helpers/parseAuthenticatorData.d.ts.map +1 -0
  268. package/script/helpers/parseAuthenticatorData.js +8 -8
  269. package/script/helpers/parseBackupFlags.d.ts +2 -1
  270. package/script/helpers/parseBackupFlags.d.ts.map +1 -0
  271. package/script/helpers/parseBackupFlags.js +2 -2
  272. package/script/helpers/toHash.d.ts +1 -0
  273. package/script/helpers/toHash.d.ts.map +1 -0
  274. package/script/helpers/toHash.js +1 -2
  275. package/script/helpers/validateCertificatePath.d.ts +1 -0
  276. package/script/helpers/validateCertificatePath.d.ts.map +1 -0
  277. package/script/helpers/validateCertificatePath.js +3 -4
  278. package/script/helpers/validateExtFIDOGenCEAAGUID.d.ts +7 -0
  279. package/script/helpers/validateExtFIDOGenCEAAGUID.d.ts.map +1 -0
  280. package/script/helpers/validateExtFIDOGenCEAAGUID.js +37 -0
  281. package/script/helpers/verifySignature.d.ts +1 -0
  282. package/script/helpers/verifySignature.d.ts.map +1 -0
  283. package/script/helpers/verifySignature.js +2 -2
  284. package/script/index.d.ts +1 -0
  285. package/script/index.d.ts.map +1 -0
  286. package/script/metadata/mdsTypes.d.ts +2 -1
  287. package/script/metadata/mdsTypes.d.ts.map +1 -0
  288. package/script/metadata/parseJWT.d.ts +1 -0
  289. package/script/metadata/parseJWT.d.ts.map +1 -0
  290. package/script/metadata/parseJWT.js +1 -2
  291. package/script/metadata/verifyAttestationWithMetadata.d.ts +2 -1
  292. package/script/metadata/verifyAttestationWithMetadata.d.ts.map +1 -0
  293. package/script/metadata/verifyAttestationWithMetadata.js +2 -2
  294. package/script/metadata/verifyJWT.d.ts +1 -0
  295. package/script/metadata/verifyJWT.d.ts.map +1 -0
  296. package/script/metadata/verifyJWT.js +1 -2
  297. package/script/registration/generateRegistrationOptions.d.ts +2 -1
  298. package/script/registration/generateRegistrationOptions.d.ts.map +1 -0
  299. package/script/registration/generateRegistrationOptions.js +2 -2
  300. package/script/registration/verifications/tpm/constants.d.ts +1 -0
  301. package/script/registration/verifications/tpm/constants.d.ts.map +1 -0
  302. package/script/registration/verifications/tpm/constants.js +8 -4
  303. package/script/registration/verifications/tpm/parseCertInfo.d.ts +1 -0
  304. package/script/registration/verifications/tpm/parseCertInfo.d.ts.map +1 -0
  305. package/script/registration/verifications/tpm/parseCertInfo.js +1 -2
  306. package/script/registration/verifications/tpm/parsePubArea.d.ts +1 -0
  307. package/script/registration/verifications/tpm/parsePubArea.d.ts.map +1 -0
  308. package/script/registration/verifications/tpm/parsePubArea.js +1 -2
  309. package/script/registration/verifications/tpm/verifyAttestationTPM.d.ts +1 -0
  310. package/script/registration/verifications/tpm/verifyAttestationTPM.d.ts.map +1 -0
  311. package/script/registration/verifications/tpm/verifyAttestationTPM.js +17 -10
  312. package/script/registration/verifications/verifyAttestationAndroidKey.d.ts +1 -0
  313. package/script/registration/verifications/verifyAttestationAndroidKey.d.ts.map +1 -0
  314. package/script/registration/verifications/verifyAttestationAndroidKey.js +7 -6
  315. package/script/registration/verifications/verifyAttestationAndroidSafetyNet.d.ts +1 -0
  316. package/script/registration/verifications/verifyAttestationAndroidSafetyNet.d.ts.map +1 -0
  317. package/script/registration/verifications/verifyAttestationAndroidSafetyNet.js +1 -2
  318. package/script/registration/verifications/verifyAttestationApple.d.ts +1 -0
  319. package/script/registration/verifications/verifyAttestationApple.d.ts.map +1 -0
  320. package/script/registration/verifications/verifyAttestationApple.js +4 -4
  321. package/script/registration/verifications/verifyAttestationFIDOU2F.d.ts +1 -0
  322. package/script/registration/verifications/verifyAttestationFIDOU2F.d.ts.map +1 -0
  323. package/script/registration/verifications/verifyAttestationFIDOU2F.js +1 -2
  324. package/script/registration/verifications/verifyAttestationPacked.d.ts +1 -0
  325. package/script/registration/verifications/verifyAttestationPacked.d.ts.map +1 -0
  326. package/script/registration/verifications/verifyAttestationPacked.js +11 -5
  327. package/script/registration/verifyRegistrationResponse.d.ts +5 -4
  328. package/script/registration/verifyRegistrationResponse.d.ts.map +1 -0
  329. package/script/registration/verifyRegistrationResponse.js +12 -9
  330. package/script/services/defaultRootCerts/android-key.d.ts +1 -0
  331. package/script/services/defaultRootCerts/android-key.d.ts.map +1 -0
  332. package/script/services/defaultRootCerts/android-safetynet.d.ts +1 -0
  333. package/script/services/defaultRootCerts/android-safetynet.d.ts.map +1 -0
  334. package/script/services/defaultRootCerts/apple.d.ts +1 -0
  335. package/script/services/defaultRootCerts/apple.d.ts.map +1 -0
  336. package/script/services/defaultRootCerts/mds.d.ts +1 -0
  337. package/script/services/defaultRootCerts/mds.d.ts.map +1 -0
  338. package/script/services/metadataService.d.ts +19 -4
  339. package/script/services/metadataService.d.ts.map +1 -0
  340. package/script/services/metadataService.js +8 -3
  341. package/script/services/settingsService.d.ts +17 -14
  342. package/script/services/settingsService.d.ts.map +1 -0
  343. package/script/services/settingsService.js +14 -0
  344. package/esm/deps.d.ts +0 -9
  345. package/esm/deps.js +0 -12
  346. package/script/deps.d.ts +0 -9
  347. package/script/deps.js +0 -68
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verifyOKP.d.ts","sourceRoot":"","sources":["../../../../src/helpers/iso/isoCrypto/verifyOKP.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,gBAAgB,EAAa,MAAM,eAAe,CAAC;AAM/E,wBAAsB,SAAS,CAAC,IAAI,EAAE;IACpC,aAAa,EAAE,gBAAgB,CAAC;IAChC,SAAS,EAAE,UAAU,CAAC;IACtB,IAAI,EAAE,UAAU,CAAC;CAClB,GAAG,OAAO,CAAC,OAAO,CAAC,CAyDnB"}
@@ -8,3 +8,4 @@ export declare function verifyRSA(opts: {
8
8
  data: Uint8Array;
9
9
  shaHashOverride?: COSEALG;
10
10
  }): Promise<boolean>;
11
+ //# sourceMappingURL=verifyRSA.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verifyRSA.d.ts","sourceRoot":"","sources":["../../../../src/helpers/iso/isoCrypto/verifyRSA.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAY,gBAAgB,EAAa,MAAM,eAAe,CAAC;AAO/E;;GAEG;AACH,wBAAsB,SAAS,CAAC,IAAI,EAAE;IACpC,aAAa,EAAE,gBAAgB,CAAC;IAChC,SAAS,EAAE,UAAU,CAAC;IACtB,IAAI,EAAE,UAAU,CAAC;IACjB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,GAAG,OAAO,CAAC,OAAO,CAAC,CA2FnB"}
@@ -34,3 +34,4 @@ export declare function fromASCIIString(value: string): Uint8Array;
34
34
  * Prepare a DataView we can slice our way around in as we parse the bytes in a Uint8Array
35
35
  */
36
36
  export declare function toDataView(array: Uint8Array): DataView;
37
+ //# sourceMappingURL=isoUint8Array.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isoUint8Array.d.ts","sourceRoot":"","sources":["../../../src/helpers/iso/isoUint8Array.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAMxE;AAED;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAK/C;AAED;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAe/C;AAED;;GAEG;AACH,wBAAgB,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,UAAU,CAYvD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAGtD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,UAAU,CAG7D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,CAEzD;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,UAAU,GAAG,QAAQ,CAEtD"}
@@ -13,3 +13,4 @@
13
13
  * ```
14
14
  */
15
15
  export declare function getLogger(_name: string): (message: string, ..._rest: unknown[]) => void;
16
+ //# sourceMappingURL=logging.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logging.d.ts","sourceRoot":"","sources":["../../src/helpers/logging.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;GAaG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,KAAK,IAAI,CAGvF"}
@@ -1,4 +1,3 @@
1
- // import { debug, Debugger } from '../deps.ts';
2
1
  // const defaultLogger = debug('SimpleWebAuthn');
3
2
  /**
4
3
  * Generate an instance of a `debug` logger that extends off of the "simplewebauthn" namespace for
@@ -6,3 +6,4 @@ import { COSEALG } from './cose.js';
6
6
  * - RSA OIDs: https://oidref.com/1.2.840.113549.1.1
7
7
  */
8
8
  export declare function mapX509SignatureAlgToCOSEAlg(signatureAlgorithm: string): COSEALG;
9
+ //# sourceMappingURL=mapX509SignatureAlgToCOSEAlg.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mapX509SignatureAlgToCOSEAlg.d.ts","sourceRoot":"","sources":["../../src/helpers/mapX509SignatureAlgToCOSEAlg.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAC1C,kBAAkB,EAAE,MAAM,GACzB,OAAO,CAwBT"}
@@ -5,3 +5,4 @@
5
5
  * Raises an `UnexpectedRPIDHash` error if no match is found
6
6
  */
7
7
  export declare function matchExpectedRPID(rpIDHash: Uint8Array, expectedRPIDs: string[]): Promise<string>;
8
+ //# sourceMappingURL=matchExpectedRPID.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"matchExpectedRPID.d.ts","sourceRoot":"","sources":["../../src/helpers/matchExpectedRPID.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,UAAU,EACpB,aAAa,EAAE,MAAM,EAAE,GACtB,OAAO,CAAC,MAAM,CAAC,CA8BjB"}
@@ -26,3 +26,4 @@ export type ParsedAuthenticatorData = {
26
26
  export declare const _parseAuthenticatorDataInternals: {
27
27
  stubThis: (value: ParsedAuthenticatorData) => ParsedAuthenticatorData;
28
28
  };
29
+ //# sourceMappingURL=parseAuthenticatorData.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseAuthenticatorData.d.ts","sourceRoot":"","sources":["../../src/helpers/parseAuthenticatorData.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,4CAA4C,EAE7C,MAAM,oCAAoC,CAAC;AAI5C;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,UAAU,GACnB,uBAAuB,CAwHzB;AAED,MAAM,MAAM,uBAAuB,GAAG;IACpC,QAAQ,EAAE,UAAU,CAAC;IACrB,QAAQ,EAAE,UAAU,CAAC;IACrB,KAAK,EAAE;QACL,EAAE,EAAE,OAAO,CAAC;QACZ,EAAE,EAAE,OAAO,CAAC;QACZ,EAAE,EAAE,OAAO,CAAC;QACZ,EAAE,EAAE,OAAO,CAAC;QACZ,EAAE,EAAE,OAAO,CAAC;QACZ,EAAE,EAAE,OAAO,CAAC;QACZ,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,UAAU,CAAC;IACvB,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,YAAY,CAAC,EAAE,UAAU,CAAC;IAC1B,mBAAmB,CAAC,EAAE,UAAU,CAAC;IACjC,cAAc,CAAC,EAAE,4CAA4C,CAAC;IAC9D,oBAAoB,CAAC,EAAE,UAAU,CAAC;CACnC,CAAC;AAGF,eAAO,MAAM,gCAAgC;sBACzB,uBAAuB;CAC1C,CAAC"}
@@ -15,12 +15,12 @@ export function parseAuthenticatorData(authData) {
15
15
  // Bit positions can be referenced here:
16
16
  // https://www.w3.org/TR/webauthn-2/#flags
17
17
  const flags = {
18
- up: !!(flagsInt & (1 << 0)),
19
- uv: !!(flagsInt & (1 << 2)),
20
- be: !!(flagsInt & (1 << 3)),
21
- bs: !!(flagsInt & (1 << 4)),
22
- at: !!(flagsInt & (1 << 6)),
23
- ed: !!(flagsInt & (1 << 7)),
18
+ up: !!(flagsInt & (1 << 0)), // User Presence
19
+ uv: !!(flagsInt & (1 << 2)), // User Verified
20
+ be: !!(flagsInt & (1 << 3)), // Backup Eligibility
21
+ bs: !!(flagsInt & (1 << 4)), // Backup State
22
+ at: !!(flagsInt & (1 << 6)), // Attested Credential Data Present
23
+ ed: !!(flagsInt & (1 << 7)), // Extension Data Present
24
24
  flagsInt,
25
25
  };
26
26
  const counterBuf = authData.slice(pointer, pointer + 4);
@@ -1,4 +1,4 @@
1
- import type { CredentialDeviceType } from '../deps.js';
1
+ import type { CredentialDeviceType } from '@simplewebauthn/types';
2
2
  /**
3
3
  * Make sense of Bits 3 and 4 in authenticator indicating:
4
4
  *
@@ -17,3 +17,4 @@ export declare function parseBackupFlags({ be, bs }: {
17
17
  export declare class InvalidBackupFlags extends Error {
18
18
  constructor(message: string);
19
19
  }
20
+ //# sourceMappingURL=parseBackupFlags.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseBackupFlags.d.ts","sourceRoot":"","sources":["../../src/helpers/parseBackupFlags.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAElE;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,EAAE,EAAE,OAAO,CAAA;CAAE,GAAG;IAC1E,oBAAoB,EAAE,oBAAoB,CAAC;IAC3C,kBAAkB,EAAE,OAAO,CAAC;CAC7B,CAeA;AAED,qBAAa,kBAAmB,SAAQ,KAAK;gBAC/B,OAAO,EAAE,MAAM;CAI5B"}
@@ -4,3 +4,4 @@ import { COSEALG } from './cose.js';
4
4
  * SHA-256.
5
5
  */
6
6
  export declare function toHash(data: Uint8Array | string, algorithm?: COSEALG): Promise<Uint8Array>;
7
+ //# sourceMappingURL=toHash.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toHash.d.ts","sourceRoot":"","sources":["../../src/helpers/toHash.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC;;;GAGG;AACH,wBAAgB,MAAM,CACpB,IAAI,EAAE,UAAU,GAAG,MAAM,EACzB,SAAS,GAAE,OAAY,GACtB,OAAO,CAAC,UAAU,CAAC,CAQrB"}
@@ -4,3 +4,4 @@
4
4
  * @param rootCertificates Possible root certificates to complete the path
5
5
  */
6
6
  export declare function validateCertificatePath(certificates: string[], rootCertificates?: string[]): Promise<boolean>;
7
+ //# sourceMappingURL=validateCertificatePath.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validateCertificatePath.d.ts","sourceRoot":"","sources":["../../src/helpers/validateCertificatePath.ts"],"names":[],"mappings":"AAQA;;;;GAIG;AACH,wBAAsB,uBAAuB,CAC3C,YAAY,EAAE,MAAM,EAAE,EACtB,gBAAgB,GAAE,MAAM,EAAO,GAC9B,OAAO,CAAC,OAAO,CAAC,CAuClB"}
@@ -1,4 +1,4 @@
1
- import { AsnSerializer } from '../deps.js';
1
+ import { AsnSerializer } from '@peculiar/asn1-schema';
2
2
  import { isCertRevoked } from './isCertRevoked.js';
3
3
  import { verifySignature } from './verifySignature.js';
4
4
  import { mapX509SignatureAlgToCOSEAlg } from './mapX509SignatureAlgToCOSEAlg.js';
@@ -0,0 +1,7 @@
1
+ import { Extensions } from '@peculiar/asn1-x509';
2
+ /**
3
+ * Look for the id-fido-gen-ce-aaguid certificate extension. If it's present then check it against
4
+ * the attestation statement AAGUID.
5
+ */
6
+ export declare function validateExtFIDOGenCEAAGUID(certExtensions: Extensions | undefined, aaguid: Uint8Array): boolean;
7
+ //# sourceMappingURL=validateExtFIDOGenCEAAGUID.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validateExtFIDOGenCEAAGUID.d.ts","sourceRoot":"","sources":["../../src/helpers/validateExtFIDOGenCEAAGUID.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAWjD;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,cAAc,EAAE,UAAU,GAAG,SAAS,EACtC,MAAM,EAAE,UAAU,GACjB,OAAO,CA6BT"}
@@ -0,0 +1,34 @@
1
+ import { AsnParser, OctetString } from '@peculiar/asn1-schema';
2
+ import { isoUint8Array } from './iso/index.js';
3
+ /**
4
+ * Attestation Certificate Extension OID: `id-fido-gen-ce-aaguid`
5
+ *
6
+ * Sourced from https://fidoalliance.org/specs/fido-v2.0-ps-20150904/fido-key-attestation-v2.0-ps-20150904.html#verifying-an-attestation-statement
7
+ */
8
+ const id_fido_gen_ce_aaguid = '1.3.6.1.4.1.45724.1.1.4';
9
+ /**
10
+ * Look for the id-fido-gen-ce-aaguid certificate extension. If it's present then check it against
11
+ * the attestation statement AAGUID.
12
+ */
13
+ export function validateExtFIDOGenCEAAGUID(certExtensions, aaguid) {
14
+ // The certificate had no extensions so there's nothing to validate
15
+ if (!certExtensions) {
16
+ return true;
17
+ }
18
+ const extFIDOGenCEAAGUID = certExtensions.find((ext) => ext.extnID === id_fido_gen_ce_aaguid);
19
+ // The extension isn't present so there's nothing to validate
20
+ if (!extFIDOGenCEAAGUID) {
21
+ return true;
22
+ }
23
+ // Parse the extension value
24
+ const parsedExtFIDOGenCEAAGUID = AsnParser.parse(extFIDOGenCEAAGUID.extnValue, OctetString);
25
+ const extValue = new Uint8Array(parsedExtFIDOGenCEAAGUID.buffer);
26
+ // Compare the two values
27
+ const aaguidAndExtAreEqual = isoUint8Array.areEqual(aaguid, extValue);
28
+ if (!aaguidAndExtAreEqual) {
29
+ const _debugExtHex = isoUint8Array.toHex(extValue);
30
+ const _debugAAGUIDHex = isoUint8Array.toHex(aaguid);
31
+ throw new Error(`Certificate extension id-fido-gen-ce-aaguid (${id_fido_gen_ce_aaguid}) value of "${_debugExtHex}" was present but not equal to attestation statement AAGUID value of "${_debugAAGUIDHex}"`);
32
+ }
33
+ return true;
34
+ }
@@ -12,3 +12,4 @@ export declare function verifySignature(opts: {
12
12
  export declare const _verifySignatureInternals: {
13
13
  stubThis: (value: Promise<boolean>) => Promise<boolean>;
14
14
  };
15
+ //# sourceMappingURL=verifySignature.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verifySignature.d.ts","sourceRoot":"","sources":["../../src/helpers/verifySignature.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAiB,MAAM,WAAW,CAAC;AAKnD;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE;IACpC,SAAS,EAAE,UAAU,CAAC;IACtB,IAAI,EAAE,UAAU,CAAC;IACjB,mBAAmB,CAAC,EAAE,UAAU,CAAC;IACjC,eAAe,CAAC,EAAE,UAAU,CAAC;IAC7B,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,GAAG,OAAO,CAAC,OAAO,CAAC,CAmCnB;AAGD,eAAO,MAAM,yBAAyB;sBAClB,OAAO,CAAC,OAAO,CAAC;CACnC,CAAC"}
package/esm/index.d.ts CHANGED
@@ -15,3 +15,4 @@ import type { MetadataStatement } from './metadata/mdsTypes.js';
15
15
  import type { VerifiedRegistrationResponse, VerifyRegistrationResponseOpts } from './registration/verifyRegistrationResponse.js';
16
16
  import type { VerifiedAuthenticationResponse, VerifyAuthenticationResponseOpts } from './authentication/verifyAuthenticationResponse.js';
17
17
  export type { GenerateAuthenticationOptionsOpts, GenerateRegistrationOptionsOpts, MetadataStatement, VerifiedAuthenticationResponse, VerifiedRegistrationResponse, VerifyAuthenticationResponseOpts, VerifyRegistrationResponseOpts, };
18
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,2BAA2B,EAAE,MAAM,+CAA+C,CAAC;AAC5F,OAAO,EAAE,0BAA0B,EAAE,MAAM,8CAA8C,CAAC;AAC1F,OAAO,EAAE,6BAA6B,EAAE,MAAM,mDAAmD,CAAC;AAClG,OAAO,EAAE,4BAA4B,EAAE,MAAM,kDAAkD,CAAC;AAChG,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAEhE,OAAO,EACL,6BAA6B,EAC7B,2BAA2B,EAC3B,eAAe,EACf,eAAe,EACf,4BAA4B,EAC5B,0BAA0B,GAC3B,CAAC;AAEF,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,+CAA+C,CAAC;AACrG,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,mDAAmD,CAAC;AAC3G,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,KAAK,EACV,4BAA4B,EAC5B,8BAA8B,EAC/B,MAAM,8CAA8C,CAAC;AACtD,OAAO,KAAK,EACV,8BAA8B,EAC9B,gCAAgC,EACjC,MAAM,kDAAkD,CAAC;AAE1D,YAAY,EACV,iCAAiC,EACjC,+BAA+B,EAC/B,iBAAiB,EACjB,8BAA8B,EAC9B,4BAA4B,EAC5B,gCAAgC,EAChC,8BAA8B,GAC/B,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { Base64URLString } from '../deps.js';
1
+ import type { Base64URLString } from '@simplewebauthn/types';
2
2
  /**
3
3
  * Metadata Service structures
4
4
  * https://fidoalliance.org/specs/mds/fido-metadata-service-v3.0-ps-20210518.html
@@ -214,3 +214,4 @@ export type AuthenticatorGetInfo = {
214
214
  }[];
215
215
  };
216
216
  export {};
217
+ //# sourceMappingURL=mdsTypes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mdsTypes.d.ts","sourceRoot":"","sources":["../../src/metadata/mdsTypes.ts"],"names":[],"mappings":"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"}
@@ -2,3 +2,4 @@
2
2
  * Process a JWT into Javascript-friendly data structures
3
3
  */
4
4
  export declare function parseJWT<T1, T2>(jwt: string): [T1, T2, string];
5
+ //# sourceMappingURL=parseJWT.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseJWT.d.ts","sourceRoot":"","sources":["../../src/metadata/parseJWT.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,wBAAgB,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,CAO9D"}
@@ -1,4 +1,4 @@
1
- import type { Base64URLString } from '../deps.js';
1
+ import type { Base64URLString } from '@simplewebauthn/types';
2
2
  import type { AlgSign, MetadataStatement } from './mdsTypes.js';
3
3
  import { COSEALG, COSECRV, COSEKTY } from '../helpers/cose.js';
4
4
  /**
@@ -27,3 +27,4 @@ export declare const algSignToCOSEInfoMap: {
27
27
  [key in AlgSign]: COSEInfo;
28
28
  };
29
29
  export {};
30
+ //# sourceMappingURL=verifyAttestationWithMetadata.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verifyAttestationWithMetadata.d.ts","sourceRoot":"","sources":["../../src/metadata/verifyAttestationWithMetadata.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE7D,OAAO,KAAK,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAIhE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAY,OAAO,EAAsB,MAAM,oBAAoB,CAAC;AAE7F;;;GAGG;AACH,wBAAsB,6BAA6B,CAAC,EAClD,SAAS,EACT,mBAAmB,EACnB,GAAG,EACH,uBAAuB,GACxB,EAAE;IACD,SAAS,EAAE,iBAAiB,CAAC;IAC7B,mBAAmB,EAAE,UAAU,CAAC;IAChC,GAAG,EAAE,UAAU,EAAE,GAAG,eAAe,EAAE,CAAC;IACtC,uBAAuB,CAAC,EAAE,MAAM,CAAC;CAClC,GAAG,OAAO,CAAC,OAAO,CAAC,CAoJnB;AAED,KAAK,QAAQ,GAAG;IACd,GAAG,EAAE,OAAO,CAAC;IACb,GAAG,EAAE,OAAO,CAAC;IACb,GAAG,CAAC,EAAE,OAAO,CAAC;CACf,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,EAAE;KAAG,GAAG,IAAI,OAAO,GAAG,QAAQ;CAe9D,CAAC"}
@@ -8,3 +8,4 @@
8
8
  * (Pulled from https://www.rfc-editor.org/rfc/rfc7515#section-4.1.1)
9
9
  */
10
10
  export declare function verifyJWT(jwt: string, leafCert: Uint8Array): Promise<boolean>;
11
+ //# sourceMappingURL=verifyJWT.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verifyJWT.d.ts","sourceRoot":"","sources":["../../src/metadata/verifyJWT.ts"],"names":[],"mappings":"AAMA;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,CA0B7E"}
@@ -1,4 +1,4 @@
1
- import type { AttestationConveyancePreference, AuthenticationExtensionsClientInputs, AuthenticatorSelectionCriteria, AuthenticatorTransportFuture, Base64URLString, COSEAlgorithmIdentifier, PublicKeyCredentialCreationOptionsJSON } from '../deps.js';
1
+ import type { AttestationConveyancePreference, AuthenticationExtensionsClientInputs, AuthenticatorSelectionCriteria, AuthenticatorTransportFuture, Base64URLString, COSEAlgorithmIdentifier, PublicKeyCredentialCreationOptionsJSON } from '@simplewebauthn/types';
2
2
  export type GenerateRegistrationOptionsOpts = {
3
3
  rpName: string;
4
4
  rpID: string;
@@ -41,3 +41,4 @@ export declare const supportedCOSEAlgorithmIdentifiers: COSEAlgorithmIdentifier[
41
41
  * @param supportedAlgorithmIDs **(Optional)** - Array of numeric COSE algorithm identifiers supported for attestation by this RP. See https://www.iana.org/assignments/cose/cose.xhtml#algorithms. Defaults to `[-8, -7, -257]`
42
42
  */
43
43
  export declare function generateRegistrationOptions(options: GenerateRegistrationOptionsOpts): Promise<PublicKeyCredentialCreationOptionsJSON>;
44
+ //# sourceMappingURL=generateRegistrationOptions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generateRegistrationOptions.d.ts","sourceRoot":"","sources":["../../src/registration/generateRegistrationOptions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,+BAA+B,EAC/B,oCAAoC,EACpC,8BAA8B,EAC9B,4BAA4B,EAC5B,eAAe,EACf,uBAAuB,EACvB,sCAAsC,EAEvC,MAAM,uBAAuB,CAAC;AAM/B,MAAM,MAAM,+BAA+B,GAAG;IAC5C,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC;IAChC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,+BAA+B,CAAC;IAClD,kBAAkB,CAAC,EAAE;QACnB,EAAE,EAAE,eAAe,CAAC;QACpB,UAAU,CAAC,EAAE,4BAA4B,EAAE,CAAC;KAC7C,EAAE,CAAC;IACJ,sBAAsB,CAAC,EAAE,8BAA8B,CAAC;IACxD,UAAU,CAAC,EAAE,oCAAoC,CAAC;IAClD,qBAAqB,CAAC,EAAE,uBAAuB,EAAE,CAAC;CACnD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,iCAAiC,EAAE,uBAAuB,EAqBtE,CAAC;AAsBF;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,2BAA2B,CAC/C,OAAO,EAAE,+BAA+B,GACvC,OAAO,CAAC,sCAAsC,CAAC,CAiHjD"}
@@ -45,3 +45,4 @@ export declare const TPM_ECC_CURVE_COSE_CRV_MAP: {
45
45
  [key: string]: number;
46
46
  };
47
47
  export {};
48
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/registration/verifications/tpm/constants.ts"],"names":[],"mappings":"AACA;;;;;;;;GAQG;AAEH;;GAEG;AACH,eAAO,MAAM,MAAM,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CAkB3C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,OAAO,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CAsC5C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CAUlD,CAAC;AAEF,KAAK,gBAAgB,GAAG;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;CACZ,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,CAAA;CAiFhE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,0BAA0B,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CAM/D,CAAC"}
@@ -109,6 +109,10 @@ export const TPM_MANUFACTURERS = {
109
109
  name: 'IBM',
110
110
  id: 'IBM',
111
111
  },
112
+ 'id:49424D00': {
113
+ name: 'IBM',
114
+ id: 'IBM',
115
+ },
112
116
  'id:49465800': {
113
117
  name: 'Infineon',
114
118
  id: 'IFX',
@@ -174,9 +178,9 @@ export const TPM_MANUFACTURERS = {
174
178
  * Match TPM public area curve ID's to `crv` numbers used in COSE public keys
175
179
  */
176
180
  export const TPM_ECC_CURVE_COSE_CRV_MAP = {
177
- TPM_ECC_NIST_P256: 1,
178
- TPM_ECC_NIST_P384: 2,
179
- TPM_ECC_NIST_P521: 3,
180
- TPM_ECC_BN_P256: 1,
181
+ TPM_ECC_NIST_P256: 1, // p256
182
+ TPM_ECC_NIST_P384: 2, // p384
183
+ TPM_ECC_NIST_P521: 3, // p521
184
+ TPM_ECC_BN_P256: 1, // p256
181
185
  TPM_ECC_SM2_P256: 1, // p256
182
186
  };
@@ -22,3 +22,4 @@ type ParsedCertInfo = {
22
22
  };
23
23
  };
24
24
  export {};
25
+ //# sourceMappingURL=parseCertInfo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseCertInfo.d.ts","sourceRoot":"","sources":["../../../../src/registration/verifications/tpm/parseCertInfo.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,UAAU,GAAG,cAAc,CAkElE;AAED,KAAK,cAAc,GAAG;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,UAAU,CAAC;IAC5B,SAAS,EAAE,UAAU,CAAC;IACtB,SAAS,EAAE;QACT,KAAK,EAAE,UAAU,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,YAAY,EAAE,MAAM,CAAC;QACrB,IAAI,EAAE,OAAO,CAAC;KACf,CAAC;IACF,eAAe,EAAE,UAAU,CAAC;IAC5B,QAAQ,EAAE;QACR,OAAO,EAAE,MAAM,CAAC;QAChB,aAAa,EAAE,UAAU,CAAC;QAC1B,IAAI,EAAE,UAAU,CAAC;QACjB,aAAa,EAAE,UAAU,CAAC;KAC3B,CAAC;CACH,CAAC"}
@@ -41,3 +41,4 @@ type ECCParameters = {
41
41
  kdf: string;
42
42
  };
43
43
  export {};
44
+ //# sourceMappingURL=parsePubArea.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parsePubArea.d.ts","sourceRoot":"","sources":["../../../../src/registration/verifications/tpm/parsePubArea.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,UAAU,GAAG,aAAa,CAyG/D;AAED,KAAK,aAAa,GAAG;IACnB,IAAI,EAAE,aAAa,GAAG,aAAa,CAAC;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE;QAChB,QAAQ,EAAE,OAAO,CAAC;QAClB,OAAO,EAAE,OAAO,CAAC;QACjB,WAAW,EAAE,OAAO,CAAC;QACrB,mBAAmB,EAAE,OAAO,CAAC;QAC7B,YAAY,EAAE,OAAO,CAAC;QACtB,eAAe,EAAE,OAAO,CAAC;QACzB,IAAI,EAAE,OAAO,CAAC;QACd,oBAAoB,EAAE,OAAO,CAAC;QAC9B,UAAU,EAAE,OAAO,CAAC;QACpB,OAAO,EAAE,OAAO,CAAC;QACjB,aAAa,EAAE,OAAO,CAAC;KACxB,CAAC;IACF,UAAU,EAAE,UAAU,CAAC;IACvB,UAAU,EAAE;QACV,GAAG,CAAC,EAAE,aAAa,CAAC;QACpB,GAAG,CAAC,EAAE,aAAa,CAAC;KACrB,CAAC;IACF,MAAM,EAAE,UAAU,CAAC;CACpB,CAAC;AAEF,KAAK,aAAa,GAAG;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,KAAK,aAAa,GAAG;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;CACb,CAAC"}
@@ -1,2 +1,3 @@
1
1
  import type { AttestationFormatVerifierOpts } from '../../verifyRegistrationResponse.js';
2
2
  export declare function verifyAttestationTPM(options: AttestationFormatVerifierOpts): Promise<boolean>;
3
+ //# sourceMappingURL=verifyAttestationTPM.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verifyAttestationTPM.d.ts","sourceRoot":"","sources":["../../../../src/registration/verifications/tpm/verifyAttestationTPM.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,qCAAqC,CAAC;AAuBzF,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,6BAA6B,GACrC,OAAO,CAAC,OAAO,CAAC,CA+VlB"}
@@ -1,4 +1,5 @@
1
- import { AsnParser, Certificate, ExtendedKeyUsage, id_ce_extKeyUsage, id_ce_subjectAltName, SubjectAlternativeName, } from '../../../deps.js';
1
+ import { AsnParser } from '@peculiar/asn1-schema';
2
+ import { Certificate, ExtendedKeyUsage, id_ce_extKeyUsage, id_ce_subjectAltName, SubjectAlternativeName, } from '@peculiar/asn1-x509';
2
3
  import { decodeCredentialPublicKey } from '../../../helpers/decodeCredentialPublicKey.js';
3
4
  import { COSEALG, COSEKEYS, isCOSEAlg, isCOSEPublicKeyEC2, isCOSEPublicKeyRSA, } from '../../../helpers/cose.js';
4
5
  import { toHash } from '../../../helpers/toHash.js';
@@ -7,6 +8,7 @@ import { validateCertificatePath } from '../../../helpers/validateCertificatePat
7
8
  import { getCertificateInfo } from '../../../helpers/getCertificateInfo.js';
8
9
  import { verifySignature } from '../../../helpers/verifySignature.js';
9
10
  import { isoUint8Array } from '../../../helpers/iso/index.js';
11
+ import { validateExtFIDOGenCEAAGUID } from '../../../helpers/validateExtFIDOGenCEAAGUID.js';
10
12
  import { MetadataService } from '../../../services/metadataService.js';
11
13
  import { verifyAttestationWithMetadata } from '../../../metadata/verifyAttestationWithMetadata.js';
12
14
  import { TPM_ECC_CURVE_COSE_CRV_MAP, TPM_MANUFACTURERS } from './constants.js';
@@ -206,8 +208,14 @@ export async function verifyAttestationTPM(options) {
206
208
  if (extKeyUsage[0] !== '2.23.133.8.3') {
207
209
  throw new Error(`Unexpected extKeyUsage "${extKeyUsage[0]}", expected "2.23.133.8.3" (TPM)`);
208
210
  }
209
- // TODO: If certificate contains id-fido-gen-ce-aaguid(1.3.6.1.4.1.45724.1.1.4) extension, check
210
- // that it’s value is set to the same AAGUID as in authData.
211
+ // Validate attestation statement AAGUID against leaf cert AAGUID
212
+ try {
213
+ await validateExtFIDOGenCEAAGUID(parsedCert.tbsCertificate.extensions, aaguid);
214
+ }
215
+ catch (err) {
216
+ const _err = err;
217
+ throw new Error(`${_err.message} (TPM)`);
218
+ }
211
219
  // Run some metadata checks if a statement exists for this authenticator
212
220
  const statement = await MetadataService.getStatement(aaguid);
213
221
  if (statement) {
@@ -3,3 +3,4 @@ import type { AttestationFormatVerifierOpts } from '../verifyRegistrationRespons
3
3
  * Verify an attestation response with fmt 'android-key'
4
4
  */
5
5
  export declare function verifyAttestationAndroidKey(options: AttestationFormatVerifierOpts): Promise<boolean>;
6
+ //# sourceMappingURL=verifyAttestationAndroidKey.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verifyAttestationAndroidKey.d.ts","sourceRoot":"","sources":["../../../src/registration/verifications/verifyAttestationAndroidKey.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,kCAAkC,CAAC;AAUtF;;GAEG;AACH,wBAAsB,2BAA2B,CAC/C,OAAO,EAAE,6BAA6B,GACrC,OAAO,CAAC,OAAO,CAAC,CA+HlB"}
@@ -1,4 +1,6 @@
1
- import { AsnParser, Certificate, id_ce_keyDescription, KeyDescription } from '../../deps.js';
1
+ import { AsnParser } from '@peculiar/asn1-schema';
2
+ import { Certificate } from '@peculiar/asn1-x509';
3
+ import { id_ce_keyDescription, KeyDescription } from '@peculiar/asn1-android';
2
4
  import { convertCertBufferToPEM } from '../../helpers/convertCertBufferToPEM.js';
3
5
  import { validateCertificatePath } from '../../helpers/validateCertificatePath.js';
4
6
  import { verifySignature } from '../../helpers/verifySignature.js';
@@ -3,3 +3,4 @@ import type { AttestationFormatVerifierOpts } from '../verifyRegistrationRespons
3
3
  * Verify an attestation response with fmt 'android-safetynet'
4
4
  */
5
5
  export declare function verifyAttestationAndroidSafetyNet(options: AttestationFormatVerifierOpts): Promise<boolean>;
6
+ //# sourceMappingURL=verifyAttestationAndroidSafetyNet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verifyAttestationAndroidSafetyNet.d.ts","sourceRoot":"","sources":["../../../src/registration/verifications/verifyAttestationAndroidSafetyNet.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,kCAAkC,CAAC;AAWtF;;GAEG;AACH,wBAAsB,iCAAiC,CACrD,OAAO,EAAE,6BAA6B,GACrC,OAAO,CAAC,OAAO,CAAC,CA2IlB"}
@@ -1,2 +1,3 @@
1
1
  import type { AttestationFormatVerifierOpts } from '../verifyRegistrationResponse.js';
2
2
  export declare function verifyAttestationApple(options: AttestationFormatVerifierOpts): Promise<boolean>;
3
+ //# sourceMappingURL=verifyAttestationApple.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verifyAttestationApple.d.ts","sourceRoot":"","sources":["../../../src/registration/verifications/verifyAttestationApple.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,kCAAkC,CAAC;AAOtF,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,6BAA6B,GACrC,OAAO,CAAC,OAAO,CAAC,CA6ElB"}
@@ -1,4 +1,5 @@
1
- import { AsnParser, Certificate } from '../../deps.js';
1
+ import { AsnParser } from '@peculiar/asn1-schema';
2
+ import { Certificate } from '@peculiar/asn1-x509';
2
3
  import { validateCertificatePath } from '../../helpers/validateCertificatePath.js';
3
4
  import { convertCertBufferToPEM } from '../../helpers/convertCertBufferToPEM.js';
4
5
  import { toHash } from '../../helpers/toHash.js';
@@ -3,3 +3,4 @@ import type { AttestationFormatVerifierOpts } from '../verifyRegistrationRespons
3
3
  * Verify an attestation response with fmt 'fido-u2f'
4
4
  */
5
5
  export declare function verifyAttestationFIDOU2F(options: AttestationFormatVerifierOpts): Promise<boolean>;
6
+ //# sourceMappingURL=verifyAttestationFIDOU2F.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verifyAttestationFIDOU2F.d.ts","sourceRoot":"","sources":["../../../src/registration/verifications/verifyAttestationFIDOU2F.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,kCAAkC,CAAC;AAStF;;GAEG;AACH,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,6BAA6B,GACrC,OAAO,CAAC,OAAO,CAAC,CA4DlB"}
@@ -3,3 +3,4 @@ import type { AttestationFormatVerifierOpts } from '../verifyRegistrationRespons
3
3
  * Verify an attestation response with fmt 'packed'
4
4
  */
5
5
  export declare function verifyAttestationPacked(options: AttestationFormatVerifierOpts): Promise<boolean>;
6
+ //# sourceMappingURL=verifyAttestationPacked.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verifyAttestationPacked.d.ts","sourceRoot":"","sources":["../../../src/registration/verifications/verifyAttestationPacked.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,kCAAkC,CAAC;AAYtF;;GAEG;AACH,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,6BAA6B,GACrC,OAAO,CAAC,OAAO,CAAC,CAyJlB"}
@@ -4,6 +4,7 @@ import { validateCertificatePath } from '../../helpers/validateCertificatePath.j
4
4
  import { getCertificateInfo } from '../../helpers/getCertificateInfo.js';
5
5
  import { verifySignature } from '../../helpers/verifySignature.js';
6
6
  import { isoUint8Array } from '../../helpers/iso/index.js';
7
+ import { validateExtFIDOGenCEAAGUID } from '../../helpers/validateExtFIDOGenCEAAGUID.js';
7
8
  import { MetadataService } from '../../services/metadataService.js';
8
9
  import { verifyAttestationWithMetadata } from '../../metadata/verifyAttestationWithMetadata.js';
9
10
  /**
@@ -26,7 +27,7 @@ export async function verifyAttestationPacked(options) {
26
27
  const signatureBase = isoUint8Array.concat([authData, clientDataHash]);
27
28
  let verified = false;
28
29
  if (x5c) {
29
- const { subject, basicConstraintsCA, version, notBefore, notAfter } = getCertificateInfo(x5c[0]);
30
+ const { subject, basicConstraintsCA, version, notBefore, notAfter, parsedCertificate, } = getCertificateInfo(x5c[0]);
30
31
  const { OU, CN, O, C } = subject;
31
32
  if (OU !== 'Authenticator Attestation') {
32
33
  throw new Error('Certificate OU was not "Authenticator Attestation" (Packed|Full)');
@@ -54,8 +55,14 @@ export async function verifyAttestationPacked(options) {
54
55
  if (notAfter < now) {
55
56
  throw new Error(`Certificate not good after "${notAfter.toString()}" (Packed|Full)`);
56
57
  }
57
- // TODO: If certificate contains id-fido-gen-ce-aaguid(1.3.6.1.4.1.45724.1.1.4) extension, check
58
- // that it’s value is set to the same AAGUID as in authData.
58
+ // Validate attestation statement AAGUID against leaf cert AAGUID
59
+ try {
60
+ await validateExtFIDOGenCEAAGUID(parsedCertificate.tbsCertificate.extensions, aaguid);
61
+ }
62
+ catch (err) {
63
+ const _err = err;
64
+ throw new Error(`${_err.message} (Packed|Full)`);
65
+ }
59
66
  // If available, validate attestation alg and x5c with info in the metadata statement
60
67
  const statement = await MetadataService.getStatement(aaguid);
61
68
  if (statement) {
@@ -1,4 +1,4 @@
1
- import type { Base64URLString, COSEAlgorithmIdentifier, CredentialDeviceType, RegistrationResponseJSON } from '../deps.js';
1
+ import type { COSEAlgorithmIdentifier, CredentialDeviceType, RegistrationResponseJSON, WebAuthnCredential } from '@simplewebauthn/types';
2
2
  import { AttestationFormat, AttestationStatement } from '../helpers/decodeAttestationObject.js';
3
3
  import { AuthenticationExtensionsAuthenticatorOutputs } from '../helpers/decodeAuthenticatorExtensions.js';
4
4
  export type VerifyRegistrationResponseOpts = {
@@ -7,6 +7,7 @@ export type VerifyRegistrationResponseOpts = {
7
7
  expectedOrigin: string | string[];
8
8
  expectedRPID?: string | string[];
9
9
  expectedType?: string | string[];
10
+ requireUserPresence?: boolean;
10
11
  requireUserVerification?: boolean;
11
12
  supportedAlgorithmIDs?: COSEAlgorithmIdentifier[];
12
13
  };
@@ -20,6 +21,7 @@ export type VerifyRegistrationResponseOpts = {
20
21
  * @param expectedOrigin - Website URL (or array of URLs) that the registration should have occurred on
21
22
  * @param expectedRPID - RP ID (or array of IDs) that was specified in the registration options
22
23
  * @param expectedType **(Optional)** - The response type expected ('webauthn.create')
24
+ * @param requireUserPresence **(Optional)** - Enforce user presence by the authenticator (or skip it during auto registration) Defaults to `true`
23
25
  * @param requireUserVerification **(Optional)** - Enforce user verification by the authenticator (via PIN, fingerprint, etc...) Defaults to `true`
24
26
  * @param supportedAlgorithmIDs **(Optional)** - Array of numeric COSE algorithm identifiers supported for attestation by this RP. See https://www.iana.org/assignments/cose/cose.xhtml#algorithms. Defaults to all supported algorithm IDs
25
27
  */
@@ -54,10 +56,8 @@ export type VerifiedRegistrationResponse = {
54
56
  verified: boolean;
55
57
  registrationInfo?: {
56
58
  fmt: AttestationFormat;
57
- counter: number;
58
59
  aaguid: string;
59
- credentialID: Base64URLString;
60
- credentialPublicKey: Uint8Array;
60
+ credential: WebAuthnCredential;
61
61
  credentialType: 'public-key';
62
62
  attestationObject: Uint8Array;
63
63
  userVerified: boolean;
@@ -82,3 +82,4 @@ export type AttestationFormatVerifierOpts = {
82
82
  rpIdHash: Uint8Array;
83
83
  verifyTimestampMS?: boolean;
84
84
  };
85
+ //# sourceMappingURL=verifyRegistrationResponse.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verifyRegistrationResponse.d.ts","sourceRoot":"","sources":["../../src/registration/verifyRegistrationResponse.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,uBAAuB,EACvB,oBAAoB,EACpB,wBAAwB,EACxB,kBAAkB,EACnB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EAErB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,4CAA4C,EAAE,MAAM,6CAA6C,CAAC;AAoB3G,MAAM,MAAM,8BAA8B,GAAG;IAC3C,QAAQ,EAAE,wBAAwB,CAAC;IACnC,iBAAiB,EAAE,MAAM,GAAG,CAAC,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IAChF,cAAc,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAClC,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACjC,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACjC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,qBAAqB,CAAC,EAAE,uBAAuB,EAAE,CAAC;CACnD,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,wBAAsB,0BAA0B,CAC9C,OAAO,EAAE,8BAA8B,GACtC,OAAO,CAAC,4BAA4B,CAAC,CAsPvC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,MAAM,4BAA4B,GAAG;IACzC,QAAQ,EAAE,OAAO,CAAC;IAClB,gBAAgB,CAAC,EAAE;QACjB,GAAG,EAAE,iBAAiB,CAAC;QACvB,MAAM,EAAE,MAAM,CAAC;QACf,UAAU,EAAE,kBAAkB,CAAC;QAC/B,cAAc,EAAE,YAAY,CAAC;QAC7B,iBAAiB,EAAE,UAAU,CAAC;QAC9B,YAAY,EAAE,OAAO,CAAC;QACtB,oBAAoB,EAAE,oBAAoB,CAAC;QAC3C,kBAAkB,EAAE,OAAO,CAAC;QAC5B,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,6BAA6B,CAAC,EAAE,4CAA4C,CAAC;KAC9E,CAAC;CACH,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,6BAA6B,GAAG;IAC1C,MAAM,EAAE,UAAU,CAAC;IACnB,OAAO,EAAE,oBAAoB,CAAC;IAC9B,QAAQ,EAAE,UAAU,CAAC;IACrB,cAAc,EAAE,UAAU,CAAC;IAC3B,YAAY,EAAE,UAAU,CAAC;IACzB,mBAAmB,EAAE,UAAU,CAAC;IAChC,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,QAAQ,EAAE,UAAU,CAAC;IACrB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC"}
@@ -26,11 +26,12 @@ import { verifyAttestationApple } from './verifications/verifyAttestationApple.j
26
26
  * @param expectedOrigin - Website URL (or array of URLs) that the registration should have occurred on
27
27
  * @param expectedRPID - RP ID (or array of IDs) that was specified in the registration options
28
28
  * @param expectedType **(Optional)** - The response type expected ('webauthn.create')
29
+ * @param requireUserPresence **(Optional)** - Enforce user presence by the authenticator (or skip it during auto registration) Defaults to `true`
29
30
  * @param requireUserVerification **(Optional)** - Enforce user verification by the authenticator (via PIN, fingerprint, etc...) Defaults to `true`
30
31
  * @param supportedAlgorithmIDs **(Optional)** - Array of numeric COSE algorithm identifiers supported for attestation by this RP. See https://www.iana.org/assignments/cose/cose.xhtml#algorithms. Defaults to all supported algorithm IDs
31
32
  */
32
33
  export async function verifyRegistrationResponse(options) {
33
- const { response, expectedChallenge, expectedOrigin, expectedRPID, expectedType, requireUserVerification = true, supportedAlgorithmIDs = supportedCOSEAlgorithmIdentifiers, } = options;
34
+ const { response, expectedChallenge, expectedOrigin, expectedRPID, expectedType, requireUserPresence = true, requireUserVerification = true, supportedAlgorithmIDs = supportedCOSEAlgorithmIdentifiers, } = options;
34
35
  const { id, rawId, type: credentialType, response: attestationResponse } = response;
35
36
  // Ensure credential specified an ID
36
37
  if (!id) {
@@ -109,12 +110,12 @@ export async function verifyRegistrationResponse(options) {
109
110
  matchedRPID = await matchExpectedRPID(rpIdHash, expectedRPIDs);
110
111
  }
111
112
  // Make sure someone was physically present
112
- if (!flags.up) {
113
- throw new Error('User not present during registration');
113
+ if (requireUserPresence && !flags.up) {
114
+ throw new Error('User presence was required, but user was not present');
114
115
  }
115
116
  // Enforce user verification if specified
116
117
  if (requireUserVerification && !flags.uv) {
117
- throw new Error('User verification required, but user could not be verified');
118
+ throw new Error('User verification was required, but user could not be verified');
118
119
  }
119
120
  if (!credentialID) {
120
121
  throw new Error('No credential ID was provided by authenticator');
@@ -189,11 +190,14 @@ export async function verifyRegistrationResponse(options) {
189
190
  const { credentialDeviceType, credentialBackedUp } = parseBackupFlags(flags);
190
191
  toReturn.registrationInfo = {
191
192
  fmt,
192
- counter,
193
193
  aaguid: convertAAGUIDToString(aaguid),
194
- credentialID: isoBase64URL.fromBuffer(credentialID),
195
- credentialPublicKey,
196
194
  credentialType,
195
+ credential: {
196
+ id: isoBase64URL.fromBuffer(credentialID),
197
+ publicKey: credentialPublicKey,
198
+ counter,
199
+ transports: response.response.transports,
200
+ },
197
201
  attestationObject,
198
202
  userVerified: flags.uv,
199
203
  credentialDeviceType,
@@ -22,3 +22,4 @@ export declare const Google_Hardware_Attestation_Root_1 = "-----BEGIN CERTIFICAT
22
22
  * 1E:F1:A0:4B:8B:A5:8A:B9:45:89:AC:49:8C:89:82:A7:83:F2:4E:A7:30:7E:01:59:A0:C3:A7:3B:37:7D:87:CC
23
23
  */
24
24
  export declare const Google_Hardware_Attestation_Root_2 = "-----BEGIN CERTIFICATE-----\nMIIFHDCCAwSgAwIBAgIJANUP8luj8tazMA0GCSqGSIb3DQEBCwUAMBsxGTAXBgNV\nBAUTEGY5MjAwOWU4NTNiNmIwNDUwHhcNMTkxMTIyMjAzNzU4WhcNMzQxMTE4MjAz\nNzU4WjAbMRkwFwYDVQQFExBmOTIwMDllODUzYjZiMDQ1MIICIjANBgkqhkiG9w0B\nAQEFAAOCAg8AMIICCgKCAgEAr7bHgiuxpwHsK7Qui8xUFmOr75gvMsd/dTEDDJdS\nSxtf6An7xyqpRR90PL2abxM1dEqlXnf2tqw1Ne4Xwl5jlRfdnJLmN0pTy/4lj4/7\ntv0Sk3iiKkypnEUtR6WfMgH0QZfKHM1+di+y9TFRtv6y//0rb+T+W8a9nsNL/ggj\nnar86461qO0rOs2cXjp3kOG1FEJ5MVmFmBGtnrKpa73XpXyTqRxB/M0n1n/W9nGq\nC4FSYa04T6N5RIZGBN2z2MT5IKGbFlbC8UrW0DxW7AYImQQcHtGl/m00QLVWutHQ\noVJYnFPlXTcHYvASLu+RhhsbDmxMgJJ0mcDpvsC4PjvB+TxywElgS70vE0XmLD+O\nJtvsBslHZvPBKCOdT0MS+tgSOIfga+z1Z1g7+DVagf7quvmag8jfPioyKvxnK/Eg\nsTUVi2ghzq8wm27ud/mIM7AY2qEORR8Go3TVB4HzWQgpZrt3i5MIlCaY504LzSRi\nigHCzAPlHws+W0rB5N+er5/2pJKnfBSDiCiFAVtCLOZ7gLiMm0jhO2B6tUXHI/+M\nRPjy02i59lINMRRev56GKtcd9qO/0kUJWdZTdA2XoS82ixPvZtXQpUpuL12ab+9E\naDK8Z4RHJYYfCT3Q5vNAXaiWQ+8PTWm2QgBR/bkwSWc+NpUFgNPN9PvQi8WEg5Um\nAGMCAwEAAaNjMGEwHQYDVR0OBBYEFDZh4QB8iAUJUYtEbEf/GkzJ6k8SMB8GA1Ud\nIwQYMBaAFDZh4QB8iAUJUYtEbEf/GkzJ6k8SMA8GA1UdEwEB/wQFMAMBAf8wDgYD\nVR0PAQH/BAQDAgIEMA0GCSqGSIb3DQEBCwUAA4ICAQBOMaBc8oumXb2voc7XCWnu\nXKhBBK3e2KMGz39t7lA3XXRe2ZLLAkLM5y3J7tURkf5a1SutfdOyXAmeE6SRo83U\nh6WszodmMkxK5GM4JGrnt4pBisu5igXEydaW7qq2CdC6DOGjG+mEkN8/TA6p3cno\nL/sPyz6evdjLlSeJ8rFBH6xWyIZCbrcpYEJzXaUOEaxxXxgYz5/cTiVKN2M1G2ok\nQBUIYSY6bjEL4aUN5cfo7ogP3UvliEo3Eo0YgwuzR2v0KR6C1cZqZJSTnghIC/vA\nD32KdNQ+c3N+vl2OTsUVMC1GiWkngNx1OO1+kXW+YTnnTUOtOIswUP/Vqd5SYgAI\nmMAfY8U9/iIgkQj6T2W6FsScy94IN9fFhE1UtzmLoBIuUFsVXJMTz+Jucth+IqoW\nFua9v1R93/k98p41pjtFX+H8DslVgfP097vju4KDlqN64xV1grw3ZLl4CiOe/A91\noeLm2UHOq6wn3esB4r2EIQKb6jTVGu5sYCcdWpXr0AUVqcABPdgL+H7qJguBw09o\njm6xNIrw2OocrDKsudk/okr/AwqEyPKw9WnMlQgLIKw1rODG2NvU9oR3GVGdMkUB\nZutL8VuFkERQGt6vQ2OCw0sV47VMkuYbacK/xyZFiRcrPJPb41zgbQj9XAEyLKCH\nex0SdDrx+tWUDqG8At2JHA==\n-----END CERTIFICATE-----\n";
25
+ //# sourceMappingURL=android-key.d.ts.map