【问题标题】:(gnupg) Which is the public and which is the private key in this pair?(gnupg) 这对中哪个是公钥,哪个是私钥?
【发布时间】:2017-12-02 08:58:38
【问题描述】:

我需要生成一个 PGP 公钥/私钥。我以前从来没有这样做过。我已阅读文档,但给出的示例与我在计算机上看到的不匹配。

我使用gnupg 生成了密钥。

我运行命令列出公钥

gpg --list-keys --keyid-format LONG

我得到了这样的结构。

pub   rsa2048/123456789101112A 2000–01-01 [SC] [expires: 2000-01-01]
      ABCD1234ABCD1234ABCD1234ABCD1234ABCD1234

uid                 [ultimate] Firstname Surname <email@gmail.com> 
sub   rsa2048/ABCDEFGHIJKLMNO1 2000-01-01 [E] [expires: 2000-01-01]

然后我运行一个命令来获取密钥

gpg --list-secret-keys --keyid-format LONG

我得到相同的结构

sec   rsa2048/123456789101112A 2000–01-01 [SC] [expires: 2000-01-01]
      ABCD1234ABCD1234ABCD1234ABCD1234ABCD1234

uid                 [ultimate] Firstname Surname <email@gmail.com> 
ssb   rsa2048/ABCDEFGHIJKLMNO1 2000-01-01 [E] [expires: 2000-01-01]

这里不同的是pubsubsecssb标签,但内容是完全一样。

生成的每个示例中的公钥私钥是什么?

第一行 pubsec 中 'rsa2048/' 后的序列(例如123456789101112A)是公钥吗?那么下面一行中较长的序列(例如ABCD1234ABCD1234ABCD1234ABCD1234ABCD1234)是匹配的私钥?

或者是第一行 pubsec 中 'rsa2048/' 之后的序列中的公钥(示例中为123456789101112A ),那么匹配的私钥是 'rsa2048/' 后面的 subssb 行(例如ABCDEFGHIJKLMNO1)? p>

【问题讨论】:

  • doc/DETAILS 包含有关 --with-colons 格式的信息,其中包含与“人类可读”版本相同的信息。这可能会让你走上正轨。算法后面的数字是OpenGPG KeyIDs。他们总是引用公钥(即使是私钥)。 pubsub 是公钥,secssb 是私钥。
  • 非常感谢!那真的,真的很翔实!!不过,这会导致另一个问题;我现在知道我的Primary Key 是什么,我的Subkey 是什么。所以我假设我可以使用主键的KeyId 来加密?子键的KeyIddecrypt?除了我的子密钥Key Capabilities 只是'e' - 加密。所以我不能用它解密?
  • 如果你仔细看,主键是一个纯S点火键。这就是为什么它有一个用于Encryption 的子密钥。您使用签名密钥的 secret 密钥对消息进行签名,并使用 public 密钥来验证签名。对于 encryption 密钥,您使用 public 密钥进行加密,使用匹配的 private 密钥进行解密。 Gnupg 非常严格地尝试确保您使用单独的密钥进行唱歌和加密。
  • 这只是一个关于 gnupg 的问题——不是关于 bash 的问题(gnupg 不是 bash 的一部分,它是一个独立的程序,不依赖于任何特定的 shell),或者关于终端(这种行为是如果您的输出发送到终端,或者发送到文件、Web 浏览器或其他任何地方,则相同)。我已经清理了标签。
  • 另外,请注意关于 UNIX 工具的一般问题更适合我们的姊妹网站Unix & Linux,而 Stack Overflow 专门针对关于编写软件的问题。

标签: gnupg


【解决方案1】:

当您列出您的密钥时,pub 始终是您的公钥,它可以被视为您的“主”密钥。与它相关联(这个“主”密钥),你有一个私钥。任何其他密钥(sub、ssb 等)都是私有的子密钥。 为了得到secsubssbpub的含义,你可以阅读这篇文章: gnupg - What do 'ssb' and 'sec' mean in gpg's output

我希望这可以解决您的“问题”。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-11-14
    • 1970-01-01
    • 1970-01-01
    • 2019-03-31
    • 1970-01-01
    • 2021-03-02
    • 2018-12-14
    • 2016-10-07
    相关资源
    最近更新 更多