import * as openpgp from "openpgp";
let detatchedSignature = "-----BEGIN PGP SIGNATURE----- insert signature here -----END PGP SIGNATURE-----";
openpgp.readSignature({
armoredSignature: detatchedSignature,
}).then((sig: openpgp.Signature) => {
let signingPublicKey = // whaaa??
});根据typedefs file,verify函数需要公钥进行测试,这就有意义了。问题是我不知道公钥是什么。
我有一个公钥数据库,可以通过keyID或fingerprint查询,根据RFC 4880,可以获得指纹。typedefs for openpgp.readSignature() I可以输入分离的签名并获得signature的承诺,但对象不提供指纹。
那么,如何使用OpenPGP.js获取创建签名的公钥的指纹或ID呢?我需要向用户索要公钥,还是可以直接从签名中获得公钥?
发布于 2021-06-08 11:38:04
在将这个帖子复制/粘贴到OpenPGPjs's issue tracker上后,我从另一个贡献者那里得到了this response,他说这在当时并不容易,并建议我提交一份PR。所以我提交了PR 1326,在Signature类中添加了一个getIssuerIDs函数。See example here。
https://stackoverflow.com/questions/67854931
复制相似问题