создание и отправка самозаверяющего открытого ключа с использованием GnuPG в CentOS 7

Я знаю, что я могу создать gpg --gen-key пару GPG с терминала CentOS 7, набрав gpg --gen-key и выполнив последующие шаги, но как я могу убедиться, что полученный публичный ключ самозаписывается? И как я могу отправить полученный ключ по электронной почте на удаленный компьютер?

Я знаю, что я могу отправить электронное письмо с приложением, используя mailx из командной строки, следующим образом:

 echo "this is the body of the email" | mailx -s"Subject" -a public.key Someone@Domain.com 

Но код mailx сокращается, предполагается, что ключ доступен в файле. На самом деле ключ заблокирован в keyring и нуждается в другом синтаксисе для его доступа.

РЕДАКТИРОВАТЬ

Я следую советам @ HaukeLaging. Я создал новый ключ, но когда я gpg --list-sigs в командной строке, я получаю следующие результаты:

 /home/username/.gnupg/pubring.gpg ----------------------------------------- pub 4096R/CODE1 2015-02-04 uid User Name <username@domainname.com> sig 3 CODE1 2015-02-04 User Name <username@domainname.com> sub 4096R/CODE2 2015-02-04 sig CODE1 2015-02-04 User Name <username@domainname.com> 

Какой из этих кодов ключей является открытым ключом? И Каков секретный ключ? Я не хочу случайно отправлять секретный ключ кому-либо.

EDIT # 2

В соответствии с ответом @ HaukeLaging на EDIT # 1 я попытался:

 `sudo gpg --armor --export CODE1 >/home/username/my_public_cert.asc` 

но результатом является пустой файл, когда я затем cd /home/username/ и ls -al .

Также,

 gpg --list-packets /home/username/my_public_cert.asc 

в результате gpg: processing message failed: Unknown system error

Почему gpg --armor --export CODE1 >/home/username/my_public_cert.asc создает пустой файл?

3 Solutions collect form web for “создание и отправка самозаверяющего открытого ключа с использованием GnuPG в CentOS 7”

Сначала найдите открытый ключ, который вы хотите экспортировать:

 gpg --list-public-keys

Посмотрите на строку с надписью «pub»; он отображает тип и номер открытого ключа. Например:

 pub 1024D / 5000280F 2009-07-10

Используйте этот номер для экспорта:

 gpg --armor --export 5000280F> klaatu_pubkey.asc

Убедитесь, что это сработало:

 cat klaatu_pubkey.asc

Пока он не пуст, вы можете отправить этот файл своим друзьям.

Поскольку модель PGP основана на сети доверия, полезно получить свой открытый ключ там в мире, чтобы люди могли начать использовать его. Самый простой способ сделать это – отправить его на ключевой сервер:

 gpg --export send-keys 5000280F --keyserver keys.fedoraproject.org

Ключевые серверы периодически копируют друг друга, поэтому ваш ключ будет распространяться, и люди, которые получают подписанные вами электронные письма, могут просто загрузить / импортировать ваш ключ pub из сети ключевых серверов.

Самоподписи

Сертификаты OpenPGP состоят из нескольких компонентов.

Всегда:

  • ровно один главный ключ
  • по меньшей мере, один идентификатор пользователя (UID)

Как правило:

  • по крайней мере один подраздел

Все компоненты, за исключением основного ключа, становятся частью сертификата, подписываясь с помощью главного ключа. Вы не можете создать сертификат (с GnuPG), который содержит компоненты без собственной подписи. После этого вы должны удалить собственную подпись, чтобы достичь такой ситуации.

Вы можете увидеть подписи, запустив

 gpg --list-sigs 

или

 gpg --with-colons --list-sigs 

прикрепление сертификата по электронной почте

Если вы хотите прикрепить сертификат, вы должны сначала экспортировать его в файл:

 gpg --armor --export $key_id >my_cert.asc 

или

 gpg --armor --output my_cert.asc --export $key_id 

Насколько я знаю, самозапись имеет смысл в PKI. PGP / GPG используют другую идею – сеть доверия. Таким образом, вы должны были подписывать свой открытый ключ у своего корреспондента и подписывать его ключ

  • svn: автоматически принимать сертификат сервера
  • Другой сайт, обслуживаемый на многоуровневом сервере Apache при введении второго сертификата SSL
  • Правильный способ реализации SSL на локальном хосте
  • Конвергенция с Firefox 3.6?
  • `openssl`: Альтернативное имя субъекта
  • Что случилось с моим сертификатом SSL?
  • Что я должен делать с Python 2.7.9, не ищущим сертификатов SSL в нужном месте на FreeBSD?
  • указать сертификат CA в Довекоте
  • Создание подписанного подчиненного ЦС для клиентских сертификатов
  • Удалите все изменения, сделанные Letsencrypt
  • Не удается запустить службу httpd из-за неправильного или неправильного пароля
  • Linux и Unix - лучшая ОС в мире.