ssl - 受信任的 GPG 证书

标签 ssl gnupg pgp ca

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

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

  • key 不“可信”,用户收到警告
  • 同样的道理,因为 key 是不可信的,如果 key 被恶意更改,用户将看不到任何东西

我过去读过一些关于密码学解决方案的文章,也知道一点 X.509 CA 的工作原理,但我不太了解 PGP key 的工作原理。我曾尝试在 GPG 中使用我的 SSL(可信)证书,但它总是失败(也许有一个选项我没有找到?)。 如果无法使用我的 SSL 证书,我如何才能将我的 PGP 证书“注册”到 CA?

谢谢!

最好的,
蒂博。

最佳答案

For all practical purposes, X.509 certificates and OpenPGP key pairs live in separate worlds . X.509 证书是分层信任的(构建证书链),而 OpenPGP key 是在对等基础上信任的。

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

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

请注意,OpenPGP key 称为“ key ”,X.509 证书也以这种方式调用。不存在“pgp 证书”,也不存在“ssl 证书”。

关于ssl - 受信任的 GPG 证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22928335/

相关文章:

java - 将 HTTPS 添加到 Google App Engine 上的自定义域(并保持 HTTP 正常工作)

ssl - Kubernetes 入口 tls

maven - 使用 Maven 发布插件时避免 gpg 签名提示

java - 如何解密已签名的 pgp 加密文件?

c# - BouncycaSTLe PGP 解密期间的 PartialInputStream

php - 在 PHP 网站上实现 SSL 的基础知识

azure - 使用 Terraform 将 AGIC 与 AKS 集成时如何使用 SSL?

encryption - 应用程序运行时 GPG 失败

gnupg - 如何轻松从 authinfo.gpg 获取密码

linux - PGP/GPG无法解密