【问题标题】:Revoke pgp key using Bouncy Castle API使用 Bouncy Castle API 撤销 pgp 密钥
【发布时间】:2012-11-29 06:06:02
【问题描述】:

我想使用 Bouncy Castle API 撤销我的 PGP 公钥。我已生成吊销证书。但我无法找到使用撤销证书撤销公钥的方法。 我将如何实现它?

我在 PGPPublickey.java 类中找到了 addCertification 方法,但它是用于添加证书而不是用于添加吊销证书。

我尝试了这种方法,但它实际上将任何吊销证书添加到公钥中,并且该密钥也被吊销了。但是,公钥应仅添加从相应私钥生成的吊销证书。

【问题讨论】:

  • 这是 PGP 初学者的一个常见误解,我一直怀有这个误解 - 将吊销证书添加到密钥与添加任何其他证书不同。因此,赞成票。

标签: bouncycastle pgp openpgp


【解决方案1】:

您应该将吊销证书添加到相应的公钥中,并将此更新后的密钥发送给密钥服务器或您正在与之通信的其他方。

【讨论】:

  • 我认为你的问题错了。我正在努力撤销公钥。我的公钥被任何撤销证书撤销。但实际上公钥应该只通过相应的私钥生成的吊销证书来吊销。
  • 当然,您可以将任何证书添加到您的公钥中。那就是接收者检查这个证书并决定是否信任它。
【解决方案2】:

你在一个方面是对的,在另一个方面是错的。

正确的:您已经找到了将撤销证书添加到密钥的正确函数。 addCertification 函数用于将撤销证书添加到 PGP 密钥。

错误:该函数不应该让您添加由公钥所有者以外的人签名的撤销证书(我推测这是您的假设)。

您可以将任何人签署的任何证书添加到 PGP 密钥中。附带的证书是否对密钥有相关影响是另一回事。

例如,我可以将我的密钥生成的撤销证书附加到您的公钥。但是,这是否意味着您的密钥现在已被撤销?简而言之,不,它没有。这是因为公钥只能通过由相应私钥签名的撤销证书来撤销,并且在说您的密钥被撤销之前由各自的实现(例如,像 GPG 这样的加密程序)来验证这一点。

在您的情况下,您的公钥可以附加任意数量的撤销证书。但是,只有由相应私钥(您可能拥有,并且希望是秘密的)签名的吊销证书才会具有实际吊销它的效果。

也就是说,如果您希望将您已撤销的密钥传达给世界其他地方,即通过密钥服务器,您应该首先生成一个由您的私钥签名的撤销证书,将其附加到您的公钥(有效地撤销它),然后将此撤销的密钥上传到密钥服务器。密钥服务器将简单地将您的密钥合并到他们拥有的副本(如果他们有的话),并将此密钥传播给它知道的其他密钥服务器。如果一切顺利,几天或更长时间后,您的撤销密钥应该可以在直接或间接连接到您上传密钥的密钥服务器的密钥服务器上使用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-11-04
    • 2012-06-21
    • 1970-01-01
    • 1970-01-01
    • 2020-09-01
    • 2016-06-25
    • 2012-06-15
    相关资源
    最近更新 更多