Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
throw new Error('Public key is not EC2');
if (pubKey.get(3) !== -7)
throw new Error('Public key is not ES256');
if (pubKey.get(-1) !== 1)
throw new Error('Public key has unsupported curve');
const x = pubKey.get(-2);
const y = pubKey.get(-3);
if (x.length !== 32 || y.length !== 32)
throw new Error('Public key has invalid X or Y size');
const ser = new Serialize.SerialBuffer({textEncoder: new util.TextEncoder(), textDecoder: new util.TextDecoder()});
ser.push((y[31] & 1) ? 3 : 2);
ser.pushArray(x);
ser.push(flagsToPresence(flags));
ser.pushString(k.rpid);
const compact = ser.asUint8Array();
const key = Numeric.publicKeyToString({
type: Numeric.KeyType.wa,
data: compact,
});
console.log({
flags: ('00' + flags.toString(16)).slice(-2),
signCount,
aaguid,
credentialIdLength,
credentialId: Serialize.arrayToHex(credentialId),
rpid: k.rpid,
presence: flagsToPresence(flags),
x: Serialize.arrayToHex(x),
y: Serialize.arrayToHex(y),
compact: Serialize.arrayToHex(compact),
key,
});