diff options
Diffstat (limited to 'packages/server/src')
-rw-r--r-- | packages/server/src/attestation/verifications/verifyPacked.ts | 2 | ||||
-rw-r--r-- | packages/server/src/helpers/convertCOSEtoPKCS.ts | 10 |
2 files changed, 3 insertions, 9 deletions
diff --git a/packages/server/src/attestation/verifications/verifyPacked.ts b/packages/server/src/attestation/verifications/verifyPacked.ts index 18e195f..614320b 100644 --- a/packages/server/src/attestation/verifications/verifyPacked.ts +++ b/packages/server/src/attestation/verifications/verifyPacked.ts @@ -113,7 +113,7 @@ export default function verifyAttestationPacked(attestationObject: AttestationOb throw new Error('COSE public key was missing kty crv (Packed|EC2)'); } - const pkcsPublicKey = convertCOSEtoPKCS(cosePublicKey); + const pkcsPublicKey = convertCOSEtoPKCS(COSEPublicKey); const signatureBaseHash = toHash(signatureBase, hashAlg); const ec = new elliptic.ec(COSECRV[(crv as number)]); diff --git a/packages/server/src/helpers/convertCOSEtoPKCS.ts b/packages/server/src/helpers/convertCOSEtoPKCS.ts index 78676c3..fbafd59 100644 --- a/packages/server/src/helpers/convertCOSEtoPKCS.ts +++ b/packages/server/src/helpers/convertCOSEtoPKCS.ts @@ -8,7 +8,7 @@ import { COSEKEYS, COSEPublicKey } from '@webauthntine/typescript-types'; * @param cosePublicKey COSE-encoded public key * @return RAW PKCS encoded public key */ -export default function convertCOSEtoPKCS(cosePublicKey: Buffer | COSEPublicKey) { +export default function convertCOSEtoPKCS(cosePublicKey: Buffer) { /* +------+-------+-------+---------+----------------------------------+ | name | key | label | type | description | @@ -25,18 +25,12 @@ export default function convertCOSEtoPKCS(cosePublicKey: Buffer | COSEPublicKey) | d | 2 | -4 | bstr | Private key | +------+-------+-------+---------+----------------------------------+ */ - let struct: COSEPublicKey; - if (cosePublicKey instanceof Buffer) { - struct = cbor.decodeFirstSync(cosePublicKey); - } else { - struct = cosePublicKey; - } + const struct: COSEPublicKey = cbor.decodeFirstSync(cosePublicKey); const tag = Buffer.from([0x04]); const x = struct.get(COSEKEYS.x); const y = struct.get(COSEKEYS.y); - if (!x) { throw new Error('COSE public key was missing x'); } |