Переставити UID-адреси в GPG


18

Чи можна в GPG переміщувати UID вгору або вниз у списку UID в ключі PGP?

Я усвідомлюю, що це суто косметична річ, але, можливо, я хочу використати це, щоб показати пріоритет серед моїх адрес, яку з них слід використати першою, якщо це можливо.

pub   4096R/0xAABBD62D0BA66C66 2014-09-02
uid                 [ultimate] Mr. Foo Bar <fourth@example.com>
uid                 [ultimate] Mr. Foo Bar <first@example.com>
uid                 [ultimate] Mr. Foo Bar <third@example.com>
uid                 [ultimate] Mr. Foo Bar <second@example.com>

Відповіді:


22

Ви можете зробити 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 <fourth@example.com>
[ultimate] (2)  Mr. Foo Bar <first@example.com>
[ultimate] (3)  Mr. Foo Bar <third@example.com>
[ultimate] (4)  Mr. Foo Bar <second@example.com>
gpg> uid 3
[ultimate] (1). Mr. Foo Bar <fourth@example.com>
[ultimate] (2)  Mr. Foo Bar <first@example.com>
[ultimate] (3)* Mr. Foo Bar <third@example.com>
[ultimate] (4)  Mr. Foo Bar <second@example.com>
gpg> primary
[ultimate] (1)  Mr. Foo Bar <fourth@example.com>
[ultimate] (2)  Mr. Foo Bar <first@example.com>
[ultimate] (3)* Mr. Foo Bar <third@example.com>
[ultimate] (4)  Mr. Foo Bar <second@example.com>
gpg> save

Потім промийте і повторіть, просуваючись назад від другого до останнього елемента до тих пір, поки елемент, який ви хочете відобразити першим у списку, не є основним UID.


Це не дуже ефективне рішення, тому я сподіваюся, що хтось інший знає кращий метод.
IQAndreas

3
GPG не дуже ефективне рішення, але це (технічно) працює!
консорш

3

Єдиною гарантованою поведінкою є те, що первинний UID вказується першим.

Подальше їх перестановка неможлива, і це створює безліч скупчень в брелоку, оскільки кожна зміна вимагає нових підписів.

Навіть якщо UID відображаються у "правильному" порядку у вашій системі, вони роблять це через те, що порядок зміни бази даних та реалізація бази даних призвели до цього, тому система бачить декілька змін одночасно або використовує інший резервний бази даних швидше за все, поводиться інакше.


1

Перший показаний UID - це той, який має основний прапор або найновіший самопідпис.

Інші відображаються в тому порядку, в якому вони додаються до брелоку, тобто або в порядку створення, або в порядку імпорту.

Таким чином, ви можете мінімізувати кількість самопідписів, створивши файли, що містять лише один UID, видалити ключ (не забудьте спершу створити резервну копію приватних ключів!) Та імпортувати UID у потрібному порядку.

Ви можете створити ці файли за допомогою gpgsplitабо, видаливши всі, крім одного UID, та експортувавши решту, імпортувавши файл із усіма UID, видалити всі, крім іншого, тощо.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.