summaryrefslogtreecommitdiffhomepage
path: root/packages/server/src
diff options
context:
space:
mode:
Diffstat (limited to 'packages/server/src')
-rw-r--r--packages/server/src/attestation/verifications/verifyPacked.ts2
-rw-r--r--packages/server/src/helpers/convertCOSEtoPKCS.ts10
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');
}