summaryrefslogtreecommitdiffhomepage
path: root/packages/server/src/helpers/decodeAuthenticatorExtensions.test.ts
diff options
context:
space:
mode:
authorEiji Kitamura <agektmr@google.com>2022-07-22 15:35:41 +0900
committerEiji Kitamura <agektmr@google.com>2022-07-22 15:35:41 +0900
commit53dd14e4dc21b1d97224f6b8b5f36285ed72283a (patch)
tree418a31a7b3e870b3ec2b5b1b6ee784a21aa5d231 /packages/server/src/helpers/decodeAuthenticatorExtensions.test.ts
parent7fdfa35dd57b3998f0fbe78f2111434de3c3afc9 (diff)
Fixes to reflect comments
- Rename `decodeExtensions` to `decodeAuthenticatorExtensions` - Mention authenticator extension - Include decoding in `parseAuthenticatorData` - Add tests for `decodeAuthenticatorExtensions`
Diffstat (limited to 'packages/server/src/helpers/decodeAuthenticatorExtensions.test.ts')
-rw-r--r--packages/server/src/helpers/decodeAuthenticatorExtensions.test.ts27
1 files changed, 27 insertions, 0 deletions
diff --git a/packages/server/src/helpers/decodeAuthenticatorExtensions.test.ts b/packages/server/src/helpers/decodeAuthenticatorExtensions.test.ts
new file mode 100644
index 0000000..b6af487
--- /dev/null
+++ b/packages/server/src/helpers/decodeAuthenticatorExtensions.test.ts
@@ -0,0 +1,27 @@
+import decodeAuthenticatorExtensionData from "./decodeAuthenticatorExtensions";
+
+test('should decode authenticator extensions', () => {
+ const extensions = decodeAuthenticatorExtensionData(Buffer.from(
+ 'A16F6465766963655075626C69634B6579A56364706B584DA5010203262001215820991A' +
+ 'ABED9DE4271A9EDEAD8806F9DC96D6DCCD0C476253A5510489EC8379BE5B225820A0973C' +
+ 'FDEDBB79E27FEF4EE7481673FB3312504DDCA5434CFD23431D6AD29EDA63736967584730' +
+ '45022100EFB38074BD15B8C82CF09F87FBC6FB3C7169EA4F1806B7E90937374302345B7A' +
+ '02202B7113040731A0E727D338D48542863CE65880AA79E5EA740AC8CCD94347988E656E' +
+ '6F6E6365406573636F706541006661616775696450000000000000000000000000000000' +
+ '00', 'hex'
+ ));
+ expect(extensions).toMatchObject({
+ "devicePublicKey": {
+ "dpk": Buffer.from('A5010203262001215820991AABED9DE4271A9EDEAD8806F9DC96D6DCCD0C476253A5510489EC8379BE5B225820A0973CFDEDBB79E27FEF4EE7481673FB3312504DDCA5434CFD23431D6AD29EDA', 'hex'),
+ "sig": Buffer.from('3045022100EFB38074BD15B8C82CF09F87FBC6FB3C7169EA4F1806B7E90937374302345B7A02202B7113040731A0E727D338D48542863CE65880AA79E5EA740AC8CCD94347988E', 'hex'),
+ "nonce": Buffer.from('', 'hex'),
+ "scope": Buffer.from('00', 'hex'),
+ "aaguid": Buffer.from('00000000000000000000000000000000', 'hex')
+ }
+ })
+});
+
+test('should return undefined decoding authenticator extensions', () => {
+ const extensions = decodeAuthenticatorExtensionData(Buffer.from('A16F'));
+ expect(extensions).toEqual(undefined);
+});