【问题标题】:How to get the public key ID/Fingerprint from a detatched signature in OpenPGP.js如何从 OpenPGP.js 中的分离签名中获取公钥 ID/指纹
【发布时间】:2021-08-23 13:15:56
【问题描述】:
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 函数需要公钥来测试,这是有道理的。问题是我不知道公钥可能是什么。

我有一个公钥数据库,可以通过keyIDfingerprint查询,根据RFC 4880可以得到指纹。 typedefs for openpgp.readSignature() 我可以输入一个分离的签名并得到一个signature 的承诺,但是该对象不提供指纹。

那么,如何获取使用OpenPGP.js 创建签名的公钥的指纹或 ID?我需要向用户询问公钥还是可以从签名中获取?

【问题讨论】:

    标签: openpgp.js


    【解决方案1】:

    OpenPGPjs's issue tracker 上复制/粘贴此线程后,我从另一位贡献者那里得到this response,他说当时不容易,并建议我提交 PR。所以我提交了PR 1326Signature 类中添加了一个getIssuerIDs 函数。 See example here.

    【讨论】:

      猜你喜欢
      • 2020-02-12
      • 1970-01-01
      • 1970-01-01
      • 2016-03-12
      • 2017-10-09
      • 2023-03-10
      • 2023-03-13
      • 2018-08-06
      • 2011-04-12
      相关资源
      最近更新 更多