Initial Commit
This commit is contained in:
15
packages/security-stack/security/otp/src/ocra/verify-ocra.ts
Normal file
15
packages/security-stack/security/otp/src/ocra/verify-ocra.ts
Normal file
@@ -0,0 +1,15 @@
|
||||
import { constantTimeStringEqual } from "../totp/verify.js";
|
||||
import { ocra } from "./ocra.js";
|
||||
import type { OcraParams } from "./ocra.types.js";
|
||||
|
||||
/** Constant-time verify: recomputes the OCRA response under the given suite
|
||||
* and key and compares it to `response` without short-circuiting. */
|
||||
export function verifyOcra(
|
||||
response: string,
|
||||
suite: string,
|
||||
key: Uint8Array,
|
||||
params: OcraParams
|
||||
): boolean {
|
||||
const expected = ocra(suite, key, params);
|
||||
return constantTimeStringEqual(response, expected);
|
||||
}
|
||||
Reference in New Issue
Block a user