summaryrefslogtreecommitdiffhomepage
path: root/packages/server/src/helpers/verifySignature.ts
blob: 79fcdbae2d0f26f85f62c515d2b09b3fa69a3114 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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);
}