我想使用Bouncy Castle API撤销我的PGP公钥。我已生成吊销证书。但是我找不到一种使用撤销证书来撤销公钥的方法。我将如何实现它?
我在PGPPublickey.java类中找到了addCertification方法,但它是用来添加证书的,而不是用来添加撤销证书的。
我尝试过这种方法,但它实际上将任何撤销证书添加到公钥中,并且密钥也被撤销。但是,公钥应该只添加从相应私钥生成的吊销证书。
发布于 2012-12-26 16:21:16
您应该将吊销证书添加到相应的公钥中,并将此更新的密钥发送给密钥服务器或您要与之通信的其他方。
发布于 2015-03-21 15:54:44
你在一件事上是对的,在另一件事上错了。
右图:您已经找到了将撤销证书添加到key的正确函数。您应该使用addCertification函数将撤销证书添加到PGP密钥中。
错误之处:该函数不应允许您添加由公钥所有者以外的人签名的吊销证书(我猜测这是您的假设)。
您可以将任何人签名的任何证书添加到PGP密钥。附加的证书是否对密钥有相关影响则是另一回事。
例如,我可以将我的私钥生成的吊销证书附加到您的公钥上。但是,这是否意味着您的密钥现在已被撤销?简而言之,不,它没有。这是因为公钥只能由相应私钥签名的吊销证书来吊销,并且在说你的密钥被吊销之前,需要由相应的实现(例如,像GPG这样的加密程序)进行验证。
在您的情况下,您的公钥可以附加任意数量的吊销证书。然而,只有由相应的私钥(您可能拥有,并且希望是秘密的)签名的吊销证书才具有实际吊销它的效果。
也就是说,如果您希望将您已撤销的密钥的事实传达给世界上的其他地方,即通过密钥服务器,您应该首先生成由您的私钥签名的撤销证书,将其附加到您的公钥(有效地撤销它),然后将该撤销的密钥上传到密钥服务器。密钥服务器会简单地将你的密钥合并到他们拥有的副本中(如果他们有的话),并将这个密钥传播给它知道的其他密钥服务器。如果一切顺利,在几天或更长时间内,您的撤销密钥应该在直接或间接连接到您上传密钥的密钥服务器的密钥服务器上可用。
https://stackoverflow.com/questions/13619835
复制相似问题