在 gpg 中,是否可以在 PGP 密钥的 UID 列表中向上或向下移动 UID?
我意识到这纯粹是装饰性的东西,但我可能想用它来显示我的地址的优先级,如果可能的话应该首先使用哪个地址。
pub 4096R/0xAABBD62D0BA66C66 2014-09-02
uid [ultimate] Mr. Foo Bar <[email protected]>
uid [ultimate] Mr. Foo Bar <[email protected]>
uid [ultimate] Mr. Foo Bar <[email protected]>
uid [ultimate] Mr. Foo Bar <[email protected]>
答案1
您可以通过将 UID 设为主要来使其显示在列表顶部。然后,顶部 UID 向下移动到第二个插槽,同样,其他所有内容都向下移动一个空格。似乎这种“转变”只有在您save
更改密钥后才会发生。
如果您想获得正确的顺序,则需要重复这些步骤,从您想要显示为倒数第二个的 UID 开始,一直到您想要显示为顶部(第一个)UID 的项目。
执行此操作的命令是(下面的文本$
是gpg>
您在控制台中输入的内容):
$ gpg --edit-key 0xAABBD62D0BA66C66
gpg (GnuPG) 1.4.16; Copyright (C) 2013 Free Software Foundation, Inc.
# irrelevant output removed #
[ultimate] (1). Mr. Foo Bar <[email protected]>
[ultimate] (2) Mr. Foo Bar <[email protected]>
[ultimate] (3) Mr. Foo Bar <[email protected]>
[ultimate] (4) Mr. Foo Bar <[email protected]>
gpg> uid 3
[ultimate] (1). Mr. Foo Bar <[email protected]>
[ultimate] (2) Mr. Foo Bar <[email protected]>
[ultimate] (3)* Mr. Foo Bar <[email protected]>
[ultimate] (4) Mr. Foo Bar <[email protected]>
gpg> primary
[ultimate] (1) Mr. Foo Bar <[email protected]>
[ultimate] (2) Mr. Foo Bar <[email protected]>
[ultimate] (3)* Mr. Foo Bar <[email protected]>
[ultimate] (4) Mr. Foo Bar <[email protected]>
gpg> save
然后冲洗并重复,从倒数第二个项目一直向后进行,直到您想要在列表中第一个显示的项目是主 UID。
答案2
唯一保证的行为是首先列出主 UID。
进一步重新排列它们是不可能的,并且会在密钥环中造成很多混乱,因为每次更改都需要新的自签名。
即使 UID 在您的系统上以“正确”的顺序显示,它们也会这样做,因为数据库更改的顺序和数据库的实现导致了这种情况,因此系统一次会看到多个更改或使用不同的数据库后端可能会有不同的行为。
答案3
第一个显示的 UID 是具有主标志或最新自签名的 UID。
其他按添加到密钥环的顺序显示,即创建顺序或导入顺序。
因此,您可以通过创建仅包含一个 UID 的文件、删除密钥(不要忘记先备份私钥!)并按所需顺序导入 UID 来最大程度地减少自签名数量。
您可以使用以下方式创建这些文件,gpgsplit
或者通过删除除一个 UID 之外的所有文件并导出剩余的文件、导入包含所有 UID 的文件、删除除另一个 UID 之外的所有文件等等来创建这些文件。