2016-08-04 9 views
1

Под ключом действительно действует?Можно ли открыть открытый ключ OpenPGP без UID?

В gpg --list-keys списки команд ключевой информации, которая не имеет метки/электронной почте к нему, я имею в виду UID:

/home/XXXXXX/.gnupg/pubring.gpg 
-------------------------------- 
pub 2048R/3BAAF156 2016-04-05 
uid 

ли действительный ключ? Источник сказал, что они используют Oracle Fusion Middleware pgp для генерации ключа.

Как шифровать файлы с помощью ключа, который не имеет UID?

ответ

3

RFC 4880, OpenPGP не требует ключей, чтобы прилагается UID. В любом случае вывод, который вы опубликовали, больше напоминает ключ пустой UID (который не запрещен при чтении section 5.11. User ID Packet (Tag 13)). Вы можете иметь GnuPG список всех отдельных пакетов OpenPGP, из которых ключ сконфигурирован, запустив gpg --export 3BAAF156 | gpg --list-packets.

Существует больше способов обращения к ключу, чем UID - на самом деле, особенно для сценариев и целей разработки с указанием фиксированного идентификатора ключа или даже лучшего отпечатка пальца. Короткий идентификатор ключа, который вы можете использовать, - 3BAAF156 (вместо почтового адреса), но better use long key IDs instead.

Пример для короткого ключа ID, шифрование файла example.txt:

gpg --recipient 3BAAF156 --encrypt example.txt 
0

Я говорю, что это unusal (если не недействительно), чтобы иметь пустой UID. НАПРИМЕР, GPG 2.1.11 не позволяет мне сгенерировать ключ с пустым UID:

export GNUPGHOME=$(mktemp -d) # use temporary dir; unset when done 
gpg --batch --passphrase 'pass' --quick-gen-key '' 

я получаю:

gpg: Key generation failed: Invalid user ID 

Кроме того, gpg --edit-key не позволяет мне удалить последнюю uid.

Чтобы ответить на ваш второй вопрос, вы можете (попытаться) использовать этот ключ, используя свой «идентификатор ключа», 3BAAF156 в вашем случае:

echo hello | gpg --encrypt --armor --recipient 3BAAF156