diff options
Diffstat (limited to 'packages/server/src/helpers/verifySignature.ts')
-rw-r--r-- | packages/server/src/helpers/verifySignature.ts | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/packages/server/src/helpers/verifySignature.ts b/packages/server/src/helpers/verifySignature.ts new file mode 100644 index 0000000..c938a23 --- /dev/null +++ b/packages/server/src/helpers/verifySignature.ts @@ -0,0 +1,18 @@ +import crypto from 'crypto'; + +/** + * Verify an authenticator's signature + * + * @param signature attStmt.sig + * @param signatureBase Output from Buffer.concat() + * @param publicKey Authenticator's public key as a PEM certificate + */ +export default function verifySignature( + signature: Buffer, + signatureBase: Buffer, + publicKey: string, +): boolean { + return crypto.createVerify('SHA256') + .update(signatureBase) + .verify(publicKey, signature); +} |