summaryrefslogtreecommitdiffhomepage
path: root/packages/server/src/helpers
diff options
context:
space:
mode:
Diffstat (limited to 'packages/server/src/helpers')
-rw-r--r--packages/server/src/helpers/decodeAttestationObject.ts9
-rw-r--r--packages/server/src/helpers/decodeCredentialPublicKey.ts9
-rw-r--r--packages/server/src/helpers/verifySignature.ts19
3 files changed, 29 insertions, 8 deletions
diff --git a/packages/server/src/helpers/decodeAttestationObject.ts b/packages/server/src/helpers/decodeAttestationObject.ts
index 8cf036d..ebfe42b 100644
--- a/packages/server/src/helpers/decodeAttestationObject.ts
+++ b/packages/server/src/helpers/decodeAttestationObject.ts
@@ -8,7 +8,9 @@ import { isoCBOR } from "./iso/index.ts";
export function decodeAttestationObject(
attestationObject: Uint8Array,
): AttestationObject {
- return isoCBOR.decodeFirst<AttestationObject>(attestationObject);
+ return _decodeAttestationObjectInternals.stubThis(
+ isoCBOR.decodeFirst<AttestationObject>(attestationObject),
+ );
}
export type AttestationFormat =
@@ -41,3 +43,8 @@ export type AttestationStatement = {
// `Map` properties
readonly size: number;
};
+
+// Make it possible to stub the return value during testing
+export const _decodeAttestationObjectInternals = {
+ stubThis: (value: AttestationObject) => value,
+};
diff --git a/packages/server/src/helpers/decodeCredentialPublicKey.ts b/packages/server/src/helpers/decodeCredentialPublicKey.ts
index b6d0f21..bb5dab4 100644
--- a/packages/server/src/helpers/decodeCredentialPublicKey.ts
+++ b/packages/server/src/helpers/decodeCredentialPublicKey.ts
@@ -4,5 +4,12 @@ import { isoCBOR } from "./iso/index.ts";
export function decodeCredentialPublicKey(
publicKey: Uint8Array,
): COSEPublicKey {
- return isoCBOR.decodeFirst<COSEPublicKey>(publicKey);
+ return _decodeCredentialPublicKeyInternals.stubThis(
+ isoCBOR.decodeFirst<COSEPublicKey>(publicKey),
+ );
}
+
+// Make it possible to stub the return value during testing
+export const _decodeCredentialPublicKeyInternals = {
+ stubThis: (value: COSEPublicKey) => value,
+};
diff --git a/packages/server/src/helpers/verifySignature.ts b/packages/server/src/helpers/verifySignature.ts
index 613436b..593c2e4 100644
--- a/packages/server/src/helpers/verifySignature.ts
+++ b/packages/server/src/helpers/verifySignature.ts
@@ -39,10 +39,17 @@ export function verifySignature(opts: {
cosePublicKey = convertX509PublicKeyToCOSE(x509Certificate);
}
- return isoCrypto.verify({
- cosePublicKey,
- signature,
- data,
- shaHashOverride: hashAlgorithm,
- });
+ return _verifySignatureInternals.stubThis(
+ isoCrypto.verify({
+ cosePublicKey,
+ signature,
+ data,
+ shaHashOverride: hashAlgorithm,
+ }),
+ );
}
+
+// Make it possible to stub the return value during testing
+export const _verifySignatureInternals = {
+ stubThis: (value: Promise<boolean>) => value,
+};