GnuPG генерирует пару открытый / закрытый ключ, где открытый ключ и закрытый ключ одинаковы и не отличаются

Я хочу создать пары открытых и закрытых ключей GnuPG. я имею gpg и не gpg2 так что я пошел в терминал и сделал:

gpg --gen-key

выход:

Please select what kind of key you want:
   (1) RSA and RSA (default)
   (2) DSA and Elgamal
   (3) DSA (sign only)
   (4) RSA (sign only)

Я выбрал 1 Выход:

What keysize do you want? (2048) 

Я выбрал 4096 Выход:

Key is valid for? (0)

Я выбрал 0 Выход:

You need a user ID to identify your key; 
the software constructs the user ID
from the Real Name, Comment and Email Address in this form:
"Name Title (some comment) <samplename@example.com>"

Real name: My Name
Email address: example@email.com
Comment: comment
You selected this USER-ID:
"My Name (comment) <example@email.com>"

Выход:

You need a Passphrase to protect your secret key.

Я дал кодовую фразу вывода:

gpg: key XXXXXXXL marked as ultimately trusted
public and secret key created and signed.

pub   ABCDE/XXXXXXXL 2016-06-09
Key fingerprint = XXXX XXXX XXXX XXXX XXXX  XXXX XXXX XXXX XXXX XXXXL
uid                  My Name (comment) <example@email.com>
sub   ABCDE/XXXXXXXM 2016-06-09

Я добавил следующую строку в мой ~/.profile:

export GPGKEY=XXXXXXXM

Затем, чтобы сделать это, я сделал

killall -q gpg-agent
eval $(gpg-agent --daemon)
export GPGKEY=XXXXXXXM

Затем я зашифровал это:

gpg --cert-digest-algo=SHA256 --edit-key XXXXXXXM

Выход:

Secret key is available.

pub   ABCDE/XXXXXXXM  created: 2016-06-09  expires: never       usage: SC  
                     trust: ultimate      validity: ultimate
[ultimate] (1). My Name (comment) <example@email.com>

Command> 

я сделал

addkey

Выход:

Please select what kind of key you want:
   (2) DSA (sign only)
   (4) Elgamal (encrypt only)
   (5) RSA (sign only)
   (6) RSA (encrypt only)

Я выбрал 6 Выход:

What keysize do you want? (2048)

Я выбрал 4096 Выход:

Key is valid for? (0)

Я выбрал 0 Выход:

pub   ABCDE/XXXXXXXL  created: 2016-06-09  expires: never       usage: SC  
                     trust: ultimate      validity: ultimate
sub   ABCDE/XXXXXXXM created: 2016-06-09  expires: never       
sub   ABCDE/XXXXXXXN created: 2016-06-09  expires: never       usage: E   

[ultimate] (1). My Name (comment) <example@email.com>
Command> 

Я сделал:

save

Затем я сделал:

gpg --list-keys

Это мой пример вывода:

pub   ABCDE/XXXXXXXL 2016-06-09
uid                  My Name (comment) <example@email.com>
sub   ABCDE/XXXXXXXM 2016-06-09
sub   ABCDE/XXXXXXXN 2016-06-10

Однако, когда я делаю

`gpg --list-secret-keys`

Я получаю de-to-de тот же вывод, за исключением sec вместо pub:

sec   ABCDE/XXXXXXXL 2016-06-09
uid                  My Name (comment) <example@email.com>
sub   ABCDE/XXXXXXXM 2016-06-09
sub   ABCDE/XXXXXXXN 2016-06-10

Я знаю, что часть после pub ABCDE/ это открытый ключ и часть после sec ABCDE/ это закрытый ключ. Короче говоря, мой открытый ключ и личный ключ совпадают.

Другой специфический сценарий состоит в том, что здесь три строки начинаются с ABCDE, но комбинация должна быть другой.

Как я могу получить отдельные открытые и закрытые ключи?

2 ответа

Решение

Наконец мне удалось решить мою проблему. Хотя по-другому.

Я установил Thunderbird, создал учетную запись для моего адреса электронной почты. Далее я установил расширение enigmail. Из мастера установки enigmail я создал пару ключей для своего аккаунта и сертификат отзыва.

Но здесь проблема все еще не исчезла. Я перешел к управлению ключами enigmail, затем щелкнул правой кнопкой мыши по моему ключу и выбрал загрузку на сервер открытых ключей. Но грядет постоянная ошибка. Это было из-за того, что enigmail не смог добавить ключи в мой доверенный набор ключей.

Поэтому я еще раз щелкнул правой кнопкой мыши по своему ключу и выбрал ключ экспорта, а затем включил экспорт закрытого ключа и нажал кнопку ОК. Предположим, что я дал имя выходному файлу mykey-pub-sec.asc

Затем я подошел к терминалу и набрал:

cd /path/to/the/saved/file
gpg --allow-secret-key-import --import mykey-pub-sec.asc
gpg --keyserver keyserver.ubuntu.com --send-key $GPGKEY

Здесь я заменил $GPGKEY на идентификатор ключа

Это все сделано

Я знаю, что часть после pub ABCDE/ это открытый ключ и часть после sec ABCDE/ это закрытый ключ.

Вы ошибаетесь в поле идентификации алгоритма с идентификатором ключа.

sec   ABCDE/XXXXXXXL 2016-06-09
uid                  My Name (comment) <example@email.com>
sub   ABCDE/XXXXXXXM 2016-06-09
sub   ABCDE/XXXXXXXN 2016-06-10

Поле, через которое вы прятались ABCDE никогда не может быть ABCDE, Это поле содержит алгоритм и идентификатор размера ключа, например R4096 для 4096-битного ключа RSA. Ожидается, что он будет содержать ту же информацию для того же алгоритма и размера ключа. D1024 обозначает 1024-битный ключ DSA и так далее.

Идентификатор (короткого) ключа является частью за косой чертой / - и, глядя на вопрос, все равно, похоже, все по-другому.

Как я могу получить отдельные открытые и закрытые ключи?

У тебя уже есть. Сгенерировано три пары открытых / закрытых ключей, каждая из которых уникальна. Нет такого, как идентификатор закрытого ключа, в OpenPGP вы всегда ссылаетесь на открытый ключ (так или иначе ключи всегда идут парами).

Другие вопросы по тегам