in src/utils.ts [17:48]
data: decodeBase64(splitCookie[0]),
signature: splitCookie[1]
};
}
/**
* Verify signed data using nodeJs crypto library
*/
export function verifySignature(message: string, signature: string, pandaPublicKey: string): boolean {
return crypto.createVerify('sha256WithRSAEncryption')
.update(message, 'utf8')
.verify(pandaPublicKey, signature, 'base64');
}
export function sign(message: string, privateKey: string): string {
const sign = crypto.createSign("sha256WithRSAEncryption");
sign.write(message);
sign.end();
return sign.sign(privateKey, 'base64');
}
const ASCII_NEW_LINE = String.fromCharCode(10);
export function base64ToPEM (key: string, headerFooter: string): string {
const PEM_HEADER = `-----BEGIN ${headerFooter} KEY-----`;
const PEM_FOOTER = `-----END ${headerFooter} KEY-----`;
let tmp = [];
const ret = [Buffer.from(PEM_HEADER).toString('ascii')];
for (let i = 0, len = key.length; i < len; i++) {