diff options
author | Matthew Miller <matthew@millerti.me> | 2023-08-22 10:13:03 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-08-22 10:13:03 -0700 |
commit | fefc95e4535e6ecf903f647124a492fba3fd11d6 (patch) | |
tree | 4c924d43d32fb12a780533302eaf5dee08875d75 /packages/server/src/helpers/generateChallenge.ts | |
parent | 443c341bc2163f07b93a3ef84a43294d10b826f8 (diff) | |
parent | 2935857c76d458c26701842e500f8d97d17499c5 (diff) |
Merge pull request #425 from MasterKale/feat/server-esm-take-2-dnt
feat/server-esm-take-2-dnt
Diffstat (limited to 'packages/server/src/helpers/generateChallenge.ts')
-rw-r--r-- | packages/server/src/helpers/generateChallenge.ts | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/packages/server/src/helpers/generateChallenge.ts b/packages/server/src/helpers/generateChallenge.ts index 8277674..40b12a4 100644 --- a/packages/server/src/helpers/generateChallenge.ts +++ b/packages/server/src/helpers/generateChallenge.ts @@ -1,9 +1,9 @@ -import { isoCrypto } from './iso'; +import { isoCrypto } from './iso/index.ts'; /** * Generate a suitably random value to be used as an attestation or assertion challenge */ -export function generateChallenge(): Uint8Array { +export async function generateChallenge(): Promise<Uint8Array> { /** * WebAuthn spec says that 16 bytes is a good minimum: * @@ -14,7 +14,12 @@ export function generateChallenge(): Uint8Array { */ const challenge = new Uint8Array(32); - isoCrypto.getRandomValues(challenge); + await isoCrypto.getRandomValues(challenge); - return challenge; + return _generateChallengeInternals.stubThis(challenge); } + +// Make it possible to stub the return value during testing +export const _generateChallengeInternals = { + stubThis: (value: Uint8Array) => value, +}; |