import { assertObjectMatch } from "https://deno.land/std@0.198.0/assert/mod.ts"; import { decodeAuthenticatorExtensions } from "./decodeAuthenticatorExtensions.ts"; import { isoUint8Array } from "./iso/index.ts"; Deno.test("should decode authenticator extensions", () => { const extensions = decodeAuthenticatorExtensions( isoUint8Array.fromHex( "A16C6465766963655075624B6579A56364706B584DA5010203262001215820991AABED9D" + "E4271A9EDEAD8806F9DC96D6DCCD0C476253A5510489EC8379BE5B225820A0973CFDEDBB" + "79E27FEF4EE7481673FB3312504DDCA5434CFD23431D6AD29EDA63736967584730450221" + "00EFB38074BD15B8C82CF09F87FBC6FB3C7169EA4F1806B7E90937374302345B7A02202B" + "7113040731A0E727D338D48542863CE65880AA79E5EA740AC8CCD94347988E656E6F6E63" + "65406573636F70654100666161677569645000000000000000000000000000000000", ), ); assertObjectMatch( extensions!, { devicePubKey: { dpk: isoUint8Array.fromHex( "A5010203262001215820991AABED9DE4271A9EDEAD8806F9DC96D6DCCD0C476253A5510489EC8379BE5B225820A0973CFDEDBB79E27FEF4EE7481673FB3312504DDCA5434CFD23431D6AD29EDA", ), sig: isoUint8Array.fromHex( "3045022100EFB38074BD15B8C82CF09F87FBC6FB3C7169EA4F1806B7E90937374302345B7A02202B7113040731A0E727D338D48542863CE65880AA79E5EA740AC8CCD94347988E", ), nonce: isoUint8Array.fromHex(""), scope: isoUint8Array.fromHex("00"), aaguid: isoUint8Array.fromHex("00000000000000000000000000000000"), }, }, ); });