summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorMatthew Miller <matthew@millerti.me>2020-06-07 14:33:28 -0700
committerMatthew Miller <matthew@millerti.me>2020-06-07 14:33:28 -0700
commit9b08f52ae1f3a9670e36992db35ac66bf1eb9aa9 (patch)
treee5dad4296b962db0c347b15f718060efa6b24a56
parentf1c242745df883709d10276fca08eccdecc28f6b (diff)
Simplify signature base concat during assertion
-rw-r--r--packages/server/src/assertion/verifyAssertionResponse.ts7
1 files changed, 4 insertions, 3 deletions
diff --git a/packages/server/src/assertion/verifyAssertionResponse.ts b/packages/server/src/assertion/verifyAssertionResponse.ts
index 9dedc2d..0029796 100644
--- a/packages/server/src/assertion/verifyAssertionResponse.ts
+++ b/packages/server/src/assertion/verifyAssertionResponse.ts
@@ -60,8 +60,9 @@ export default function verifyAssertionResponse(options: Options): VerifiedAsser
throw new Error(`Unexpected assertion origin "${origin}", expected "${expectedOrigin}"`);
}
- const parsedAuthData = parseAuthenticatorData(base64url.toBuffer(response.authenticatorData));
- const { rpIdHash, flags, counter, flagsBuf, counterBuf } = parsedAuthData;
+ const authDataBuffer = base64url.toBuffer(response.authenticatorData);
+ const parsedAuthData = parseAuthenticatorData(authDataBuffer);
+ const { rpIdHash, flags, counter } = parsedAuthData;
// Make sure the response's RP ID is ours
const expectedRPIDHash = toHash(Buffer.from(expectedRPID, 'ascii'));
@@ -80,7 +81,7 @@ export default function verifyAssertionResponse(options: Options): VerifiedAsser
}
const clientDataHash = toHash(base64url.toBuffer(response.clientDataJSON));
- const signatureBase = Buffer.concat([rpIdHash, flagsBuf, counterBuf, clientDataHash]);
+ const signatureBase = Buffer.concat([authDataBuffer, clientDataHash]);
const publicKey = convertASN1toPEM(base64url.toBuffer(authenticator.publicKey));
const signature = base64url.toBuffer(response.signature);