diff options
Diffstat (limited to 'packages/server/src')
-rw-r--r-- | packages/server/src/assertion/verifyAssertionResponse.ts | 2 | ||||
-rw-r--r-- | packages/server/src/helpers/convertPublicKeyToPEM.ts | 7 |
2 files changed, 3 insertions, 6 deletions
diff --git a/packages/server/src/assertion/verifyAssertionResponse.ts b/packages/server/src/assertion/verifyAssertionResponse.ts index d63216d..0aa3605 100644 --- a/packages/server/src/assertion/verifyAssertionResponse.ts +++ b/packages/server/src/assertion/verifyAssertionResponse.ts @@ -178,7 +178,7 @@ export default function verifyAssertionResponse(options: Options): VerifiedAsser const clientDataHash = toHash(base64url.toBuffer(response.clientDataJSON)); const signatureBase = Buffer.concat([authDataBuffer, clientDataHash]); - const publicKey = convertPublicKeyToPEM(authenticator.publicKey); + const publicKey = convertPublicKeyToPEM(authenticator.credentialPublicKey); const signature = base64url.toBuffer(response.signature); if ((counter > 0 || authenticator.counter > 0) && counter <= authenticator.counter) { diff --git a/packages/server/src/helpers/convertPublicKeyToPEM.ts b/packages/server/src/helpers/convertPublicKeyToPEM.ts index 834f96c..9be1e0a 100644 --- a/packages/server/src/helpers/convertPublicKeyToPEM.ts +++ b/packages/server/src/helpers/convertPublicKeyToPEM.ts @@ -1,15 +1,12 @@ import cbor from 'cbor'; import jwkToPem from 'jwk-to-pem'; -import base64url from 'base64url'; import { COSEKEYS, COSEKTY, COSECRV } from './convertCOSEtoPKCS'; -export default function convertPublicKeyToPEM(publicKey: string): string { - const publicKeyBuffer = base64url.toBuffer(publicKey); - +export default function convertPublicKeyToPEM(publicKey: Buffer): string { let struct; try { - struct = cbor.decodeAllSync(publicKeyBuffer)[0]; + struct = cbor.decodeAllSync(publicKey)[0]; } catch (err) { throw new Error(`Error decoding public key while converting to PEM: ${err.message}`); } |