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 вы всегда ссылаетесь на открытый ключ (так или иначе ключи всегда идут парами).