summaryrefslogtreecommitdiffhomepage
path: root/packages/server/src
diff options
context:
space:
mode:
Diffstat (limited to 'packages/server/src')
-rw-r--r--packages/server/src/helpers/convertCOSEtoPKCS.ts6
-rw-r--r--packages/server/src/helpers/convertPublicKeyToPEM.ts12
-rw-r--r--packages/server/src/helpers/verifySignature.ts4
-rw-r--r--packages/server/src/metadata/verifyAttestationWithMetadata.ts6
-rw-r--r--packages/server/src/registration/verifications/tpm/verifyAttestationTPM.ts10
-rw-r--r--packages/server/src/registration/verifyRegistrationResponse.ts2
6 files changed, 20 insertions, 20 deletions
diff --git a/packages/server/src/helpers/convertCOSEtoPKCS.ts b/packages/server/src/helpers/convertCOSEtoPKCS.ts
index 0ee6a97..0db7853 100644
--- a/packages/server/src/helpers/convertCOSEtoPKCS.ts
+++ b/packages/server/src/helpers/convertCOSEtoPKCS.ts
@@ -8,9 +8,9 @@ import uint8Array from './uint8array';
export function convertCOSEtoPKCS(cosePublicKey: Uint8Array): Uint8Array {
const struct: COSEPublicKey = decodeCborFirst(cosePublicKey);
- const x = struct.get(COSEKEYS.x);
- const y = struct.get(COSEKEYS.y);
const tag = Uint8Array.from([0x04]);
+ const x = struct[COSEKEYS.x];
+ const y = struct[COSEKEYS.y];
if (!x) {
throw new Error('COSE public key was missing x');
@@ -23,7 +23,7 @@ export function convertCOSEtoPKCS(cosePublicKey: Uint8Array): Uint8Array {
return uint8Array.concat([tag, x as Uint8Array]);
}
-export type COSEPublicKey = Map<COSEAlgorithmIdentifier, number | Buffer>;
+export type COSEPublicKey = { [key: COSEAlgorithmIdentifier]: number | Uint8Array};
export enum COSEKEYS {
kty = 1,
diff --git a/packages/server/src/helpers/convertPublicKeyToPEM.ts b/packages/server/src/helpers/convertPublicKeyToPEM.ts
index 0ba7d73..40c8c5f 100644
--- a/packages/server/src/helpers/convertPublicKeyToPEM.ts
+++ b/packages/server/src/helpers/convertPublicKeyToPEM.ts
@@ -12,16 +12,16 @@ export function convertPublicKeyToPEM(publicKey: Uint8Array): string {
throw new Error(`Error decoding public key while converting to PEM: ${_err.message}`);
}
- const kty = struct.get(COSEKEYS.kty);
+ const kty = struct[COSEKEYS.kty];
if (!kty) {
throw new Error('Public key was missing kty');
}
if (kty === COSEKTY.EC2) {
- const crv = struct.get(COSEKEYS.crv);
- const x = struct.get(COSEKEYS.x);
- const y = struct.get(COSEKEYS.y);
+ const crv = struct[COSEKEYS.crv];
+ const x = struct[COSEKEYS.x];
+ const y = struct[COSEKEYS.y];
if (!crv) {
throw new Error('Public key was missing crv (EC2)');
@@ -45,8 +45,8 @@ export function convertPublicKeyToPEM(publicKey: Uint8Array): string {
return ecPEM;
} else if (kty === COSEKTY.RSA) {
- const n = struct.get(COSEKEYS.n);
- const e = struct.get(COSEKEYS.e);
+ const n = struct[COSEKEYS.n];
+ const e = struct[COSEKEYS.e];
if (!n) {
throw new Error('Public key was missing n (RSA)');
diff --git a/packages/server/src/helpers/verifySignature.ts b/packages/server/src/helpers/verifySignature.ts
index 3401cf6..72e5688 100644
--- a/packages/server/src/helpers/verifySignature.ts
+++ b/packages/server/src/helpers/verifySignature.ts
@@ -57,7 +57,7 @@ export async function verifySignature(
throw new Error(`Error decoding public key while converting to PEM: ${_err.message}`);
}
- const kty = struct.get(COSEKEYS.kty);
+ const kty = struct[COSEKEYS.kty];
if (!kty) {
throw new Error('Public key was missing kty');
@@ -66,7 +66,7 @@ export async function verifySignature(
// Check key type
if (kty === COSEKTY.OKP) {
// Verify Ed25519 slightly differently
- const x = struct.get(COSEKEYS.x);
+ const x = struct[COSEKEYS.x];
if (!x) {
throw new Error('Public key was missing x (OKP)');
diff --git a/packages/server/src/metadata/verifyAttestationWithMetadata.ts b/packages/server/src/metadata/verifyAttestationWithMetadata.ts
index c779145..08cd8fe 100644
--- a/packages/server/src/metadata/verifyAttestationWithMetadata.ts
+++ b/packages/server/src/metadata/verifyAttestationWithMetadata.ts
@@ -43,9 +43,9 @@ export async function verifyAttestationWithMetadata({
const decodedPublicKey = decodeCredentialPublicKey(credentialPublicKey);
// Assume everything is a number because these values should be
const publicKeyCOSEInfo: COSEInfo = {
- kty: decodedPublicKey.get(COSEKEYS.kty) as number,
- alg: decodedPublicKey.get(COSEKEYS.alg) as number,
- crv: decodedPublicKey.get(COSEKEYS.crv) as number,
+ kty: decodedPublicKey[COSEKEYS.kty] as number,
+ alg: decodedPublicKey[COSEKEYS.alg] as number,
+ crv: decodedPublicKey[COSEKEYS.crv] as number,
};
if (!publicKeyCOSEInfo.crv) {
delete publicKeyCOSEInfo.crv;
diff --git a/packages/server/src/registration/verifications/tpm/verifyAttestationTPM.ts b/packages/server/src/registration/verifications/tpm/verifyAttestationTPM.ts
index fd2375c..910e8f3 100644
--- a/packages/server/src/registration/verifications/tpm/verifyAttestationTPM.ts
+++ b/packages/server/src/registration/verifications/tpm/verifyAttestationTPM.ts
@@ -64,8 +64,8 @@ export async function verifyAttestationTPM(options: AttestationFormatVerifierOpt
const cosePublicKey = decodeCredentialPublicKey(credentialPublicKey);
if (pubType === 'TPM_ALG_RSA') {
- const n = cosePublicKey.get(COSEKEYS.n);
- const e = cosePublicKey.get(COSEKEYS.e);
+ const n = cosePublicKey[COSEKEYS.n];
+ const e = cosePublicKey[COSEKEYS.e];
if (!n) {
throw new Error('COSE public key missing n (TPM|RSA)');
@@ -93,9 +93,9 @@ export async function verifyAttestationTPM(options: AttestationFormatVerifierOpt
throw new Error(`Unexpected public key exp ${eSum}, expected ${pubAreaExponent} (TPM|RSA)`);
}
} else if (pubType === 'TPM_ALG_ECC') {
- const crv = cosePublicKey.get(COSEKEYS.crv);
- const x = cosePublicKey.get(COSEKEYS.x);
- const y = cosePublicKey.get(COSEKEYS.y);
+ const crv = cosePublicKey[COSEKEYS.crv];
+ const x = cosePublicKey[COSEKEYS.x];
+ const y = cosePublicKey[COSEKEYS.y];
if (!crv) {
throw new Error('COSE public key missing crv (TPM|ECC)');
diff --git a/packages/server/src/registration/verifyRegistrationResponse.ts b/packages/server/src/registration/verifyRegistrationResponse.ts
index 60140a4..42870d1 100644
--- a/packages/server/src/registration/verifyRegistrationResponse.ts
+++ b/packages/server/src/registration/verifyRegistrationResponse.ts
@@ -181,7 +181,7 @@ export async function verifyRegistrationResponse(
}
const decodedPublicKey = decodeCredentialPublicKey(credentialPublicKey);
- const alg = decodedPublicKey.get(COSEKEYS.alg);
+ const alg = decodedPublicKey[COSEKEYS.alg];
if (typeof alg !== 'number') {
throw new Error('Credential public key was missing numeric alg');