我有一个用一些密钥算法在Adobe Reader中签名的 pdf 文件,比如 1024 位 RSA。如何验证具有签名文件和公钥的 Node.js 中的签名?
我知道有一个本地模块crypto。但我不明白如何使用它,这是文档中的一个示例:
const verify = crypto.createVerify('RSA-SHA256');
verify.write('some data to sign'); // should I write pdf file byte stream here?
verify.end();
const publicKey = getPublicKeySomehow();
const signature = getSignatureToVerify(); // this is not clear, what is the signature in current context?
console.log(verify.verify(publicKey, signature));
任何人都可以对此有所了解吗?
我在这里找到的UPD是使用它的正确方法:
const res = verify.verify(fs.readFileSync('cert.cer'), fs.readFileSync('signed_doc.pdf'))
但它会引发下一个错误
Error: PEM_read_bio_PUBKEY failed
at Error (native)
at Verify.verify (crypto.js:311:23)
问题:我可以使用Verify.verify
with p7c
,cer
证书吗?