1

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

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

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

4

2 回答 2

1

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

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

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

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

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

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

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

于 2015-03-21T15:54:44.227 回答
1

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

于 2012-12-26T16:21:16.287 回答