标签: pgp

在没有 .sig 或 .asc 文件的情况下使用 GPG 验证文件?

根据我对 PGP/GPG 的有限了解,必须有两件事来验证文件:

  • 文件的“签名”(本质上是使用受信任实体的私钥加密的文件的散列;通常作为.sig二进制文件或.ascbase64 文件分发)。

  • 受信任实体的公钥。

它似乎与我使用gpg. 但是,当我尝试验证从 GCC 的镜像站点之一下载的文件时,我有点困惑。在镜像站点列表页面 ( http://gcc.gnu.org/mirrors.html ) 上,它说:

档案(托管在这些镜像上)将由以下 GnuPG 密钥之一签名:

然后它列出了 6 个可能的键:

1024D/745C015A 1999-11-09 Gerald Pfeifer <gerald@pfeifer.com>
Key fingerprint = B215 C163 3BCA 0477 615F 1B35 A5B3 A004 745C 015A

1024D/B75C61B8 2003-04-10 Mark Mitchell <mark@codesourcery.com>
Key fingerprint = B3C4 2148 A44E 6983 B3E4 CC07 93FA 9B1A B75C 61B8

1024D/902C9419 2004-12-06 Gabriel Dos Reis <gdr@acm.org>
Key fingerprint = 90AA 4704 69D3 965A 87A5 DCB4 94D0 3953 902C …
Run Code Online (Sandbox Code Playgroud)

pgp gnupg

5
推荐指数
1
解决办法
9805
查看次数

GPG 工具:私钥的位置

我搬到了另一台 Macbook。由于昂贵的 SSD 和非常小的磁盘大小,并且因为我想从这个安装开始干净,我无法传输用户文件夹。我连接了外置机箱中的旧磁盘,看到我忘记导出两个私钥。我想从外部磁盘或 Time Machine 恢复它们。

在哪里可以找到 GPG 工具私钥,以便导出它们,或复制整个 GPG 工具文件夹?

pgp gnupg osx-el-capitan macos

5
推荐指数
1
解决办法
2万
查看次数

公钥/私钥加密如何工作,谁生成密钥对?

我需要对文件进行加密,将其发送给外部合作伙伴,然后该合作伙伴将使用密钥解密该文件。

我的“基本”理解是我可以生成公钥和私钥,使用公钥对文件进行编码,我们的合作伙伴可以使用我们提供的私钥解密。但这对我来说听起来有点奇怪,我们将共享私钥。只有一个值得信赖的合作伙伴。

我错过了什么吗?

encryption pgp public-key-encryption openpgp

5
推荐指数
2
解决办法
1918
查看次数

存储 PGP 私钥的文件格式是什么?

我试图从 RFC 和源代码(主要来自 gnupg 和 gpgme)中理解它,但当有人导出密钥时,我没有理解数据的存储方式。

我知道 RSA 和 DSA/ElGamal 存储之间应该存在差异,但应该有一个共同的方式。

file-format pgp rsa gnupg

4
推荐指数
1
解决办法
8205
查看次数

一步简单的PGP加密?

我想对文件运行 gpg 加密,而无需在系统中注册密钥。

理想情况下,有一种方法可以传递密钥文件的路径,并为我在目标文件上运行加密。

有没有办法做到这一点?我正在运行 CentOS Linux。

linux bash pgp gnupg

4
推荐指数
1
解决办法
1979
查看次数

GnuPG 的 `--desig-revoke` 命令应该如何使用?

--desig-revoke应该如何使用GnuPG 命令,在什么情况下应该使用它?根据手册:

--design-revoke name
为密钥生成指定的吊销证书。这允许用户(在密钥持有者的许可下)撤销其他人的密钥。

并且有一个相关的动作--edit-key

addrevoker
将指定的撤销者添加到密钥中。这需要一个可选参数:“敏感”。如果指定的撤销者被标记为敏感,则默认情况下不会导出它(请参阅导出选项)。

其次,这种允许其他人撤销您的 PGP 密钥的功能是 GnuPG 特有的,还是 OpenPGP 标准的一部分?

pgp public-key gnupg

4
推荐指数
1
解决办法
1236
查看次数

如何在不导入私钥的情况下获取公钥的Id?

如果我在私钥上运行以下命令以将其安装在我的密钥服务器中:

gpg --allow-secret-key-import --import my_private.key
Run Code Online (Sandbox Code Playgroud)

它可能会从密钥服务器导入关联的公钥?

gpg: key xyz...: public key "example@example.com" imported
Run Code Online (Sandbox Code Playgroud)

我的问题是:如何找到该公钥的 ID,而不必将私钥安装到我的钥匙串中?

pgp keychain gnupg

4
推荐指数
1
解决办法
2万
查看次数

是否可以在不知道我愿意共享数据的人的公钥的情况下加密文件?

如果我有我想与其他人共享的文件,但是如果这个人没有公钥,例如他们还没有安装 PGP 等,我该如何加密数据,以便只有那个人可以用他们的私钥解密?

encryption pgp

3
推荐指数
1
解决办法
382
查看次数

从 PGP PRIVATE KEY BLOCK 生成 RSA 私钥

我从 keybase.io 下载了我的私钥块(到文件 keybase.ppk)。它始于:

-----BEGIN PGP PRIVATE KEY BLOCK-----
Version: Keybase OpenPGP v2.0.49
Run Code Online (Sandbox Code Playgroud)

我现在想创建一个 ssh 密钥对,以便我可以将公钥放在远程服务器上并使用私钥登录。我如何在 Linux 上做到这一点?

我尝试了在网上找到的各种方法,我学到的只是我对当代密码学中的应用程序和标准的理解非常有限:-/

ssh pgp

3
推荐指数
1
解决办法
5472
查看次数

我应该发布我的哪个 GPG 公钥?主键,子键,全部?

原始问题

我一直在学习 GPG 和子密钥的使用。我觉得我已经对使用子键和保持主键离线的好处有了很好的理解,但是缺乏关于应该发布哪些键的信息。我的问题:

我应该发布哪些密钥?
我应该发布我的主键、子键还是全部?每个的优点/缺点是什么?

我的朋友应该签署哪些密钥?
如果我的朋友将我添加到他的密钥环中,他是添加我的主键、子键还是我的所有键?如果我设置了一个新的子键,他如何验证它与我的主键相关联?

子键是如何与主键“关联”的?
有很多文章说它们有关联,但没有说如何。它们是否包含一些共享的数学属性?

期待理解这一点,将不胜感激任何可以提供的澄清。

更新

在做了一些进一步的研究之后,我发现了这篇关于GPG 密钥剖析的有趣文章。从本文中包含的信息来看,子密钥似乎完全包含在主密钥中,至少在查看公钥时是这样。我最初没有理解的是,PGP 密钥包含大量元信息,而不仅仅是密钥的实际数值。

我是否正确理解我只有一个公钥?
看来我只有一个公钥,就是我发布的东西,我朋友签名的东西。这就是关联我的子键,并告诉所有人我的子键实际上是我的?

如果我将我的子密钥复制到另一台设备,我是否也需要整个公钥?
或者子密钥有自己的子公钥吗?

encryption pgp gnupg

3
推荐指数
1
解决办法
1065
查看次数