summaryrefslogtreecommitdiffhomepage
path: root/packages/server/src/helpers/parseAuthenticatorData.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/server/src/helpers/parseAuthenticatorData.ts')
-rw-r--r--packages/server/src/helpers/parseAuthenticatorData.ts8
1 files changed, 7 insertions, 1 deletions
diff --git a/packages/server/src/helpers/parseAuthenticatorData.ts b/packages/server/src/helpers/parseAuthenticatorData.ts
index 919c0aa..60bde01 100644
--- a/packages/server/src/helpers/parseAuthenticatorData.ts
+++ b/packages/server/src/helpers/parseAuthenticatorData.ts
@@ -1,3 +1,5 @@
+import cbor from 'cbor';
+
/**
* Make sense of the authData buffer contained in an Attestation
*/
@@ -47,7 +49,11 @@ export default function parseAuthenticatorData(authData: Buffer): ParsedAuthenti
credentialID = intBuffer.slice(0, credIDLen);
intBuffer = intBuffer.slice(credIDLen);
- credentialPublicKey = intBuffer;
+ // Decode the next CBOR item in the buffer, then re-encode it back to a Buffer
+ const firstDecoded = cbor.decodeFirstSync(intBuffer);
+ const firstEncoded = cbor.encode(firstDecoded);
+ credentialPublicKey = firstEncoded;
+ intBuffer = intBuffer.slice(firstEncoded.byteLength);
}
return {