2014-04-08 32 views
0

我有一个关于GPG证书和证书颁发机构的小问题。可信的GPG证书

我正在使用GnuPG签署我在服务器上托管的tarball。我希望那些想下载这个tarball的用户能够使用我的公钥加密它。 目前,我将我的公钥存储在另一台我拥有的服务器上。有2个问题与此:

  • 的关键不在于“信任”,而用户得到一个警告
  • 在同样的想法,因为密钥不被信任,如果密钥被恶意篡改,用户将不会看到任何东西

我已经读过一些关于密码解决方案的过去,并且知道一点X.509 CA如何工作,但我并不真正了解它是如何工作的PGP密钥。我试图在GPG中使用我的SSL(可信)证书,但它总是失败(也许有一个选项我没有找到?)。 如果无法使用我的SSL证书,如何“注册”我的PGP证书到CA?

谢谢!

最好,
Thibault。

回答

2

OpenPGP和X.509是两个类似的性质,但技术上不兼容的格式。 X.509证书是分级信任的(构建证书链),OpenPGP密钥在对等基础上可信。

由于技术不兼容,它们不容易相互替换。为了让用户信任OpenPGP密钥,您可以将其发布到OpenPPG密钥存储库(密钥服务器)之一中,并希望(或建议)用户将其用作OpenPGP密钥的可信来源。

或者,您可以使用服务器的证书为您分发的存档创建分离的PKCS#7/CMS签名,但与OpenPGP不同的是,没有广泛的工具可用于在最终用户计算机上检查PKCS#7/CMS签名(好吧,也许OpenSSL会为你的用户观众工作)。请注意,服务器证书的KeyUsage可能不适合签名,因此用户将收到警告。

请注意,OpenPGP密钥被称为“密钥”,X.509证书也是这样调用的。没有“pgp证书”以及没有“ssl证书”。

+0

谢谢!非常有趣的答案。我会研究如何将密钥发布在密钥存储库上。感谢消歧术语;) – tbronchain

+0

只是一个额外的问题。我把公钥放在那里:http://pgp.mit.edu/。这是我需要做的吗? GPG会自动知道在CA中搜索的位置? - 我不明白一件事,如果攻击者改变公钥所在的服务器上的密钥,那么问题仍然是一样的。 – tbronchain

+0

不,只是推杆是不够的 - 正如我所提到的,用户必须信任并使用该服务器。 “信任”意味着服务器必须是安全的(例如,当把钥匙放到服务器上时你需要证明拥有私钥),并且用户知道这个服务器并且可以/想从那里拿到公钥。 –