criando e enviando uma chave pública autoassinada usando o GnuPG no CentOS 7

0

Eu sei que posso criar um par de chaves GPG a partir do terminal do CentOS 7 digitando gpg --gen-key e seguindo as etapas resultantes, mas como posso ter certeza de que a chave pública resultante é autoassinada? E como posso enviar a chave resultante por email para um computador remoto?

Eu sei que posso enviar um email com um anexo usando mailx na linha de comando da seguinte forma:

echo "this is the body of the email" | mailx -s"Subject" -a public.key [email protected]

Mas o código mailx cortado presume que a chave está disponível em um arquivo. Na realidade, a chave é trancada em um chaveiro e precisa de outra sintaxe para poder ser acessada.

EDITAR

Estou seguindo o conselho do @HaukeLaging. Eu criei uma nova chave, mas quando eu digito gpg --list-sigs na linha de comando, recebo os seguintes resultados:

/home/username/.gnupg/pubring.gpg
-----------------------------------------
pub   4096R/CODE1 2015-02-04
uid                  User Name <[email protected]>
sig 3        CODE1 2015-02-04  User Name <[email protected]>
sub   4096R/CODE2 2015-02-04
sig          CODE1 2015-02-04  User Name <[email protected]>

Qual destes códigos chave é a chave pública? E qual é a chave privada? Eu não quero enviar acidentalmente a chave privada para ninguém.

EDIT # 2

Como resposta do @ HaukeLaging ao EDIT # 1, eu tentei:

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

mas o resultado é um arquivo vazio quando eu cd /home/username/ e ls -al .

Além disso,

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

resultou em gpg: processing message failed: Unknown system error

Por que gpg --armor --export CODE1 >/home/username/my_public_cert.asc está produzindo um arquivo vazio?

    
por CodeMed 04.02.2015 / 21:31

3 respostas

1

Primeiro, encontre a chave pública que você deseja exportar:

gpg --list-public-keys

Olhe para a linha marcada 'pub'; ele exibe o tipo e o número da sua chave pública. Por exemplo:

pub  1024D/5000280F 2009-07-10

Use o número para exportar:

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

Verifique se funcionou:

cat klaatu_pubkey.asc

Contanto que não esteja vazio, você pode enviar esse arquivo para seus amigos.

Como o modelo PGP é baseado em uma rede de confiança, é benéfico colocar sua chave pública no mundo para que as pessoas possam começar a usá-la. A maneira mais fácil de fazer isso é postá-lo em um servidor de chaves:

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

Os servidores-chave espelham-se uns aos outros periodicamente, de modo que sua chave se propaga e as pessoas que recebem e-mails assinados podem simplesmente fazer o download / importar sua chave de publicação da rede de servidores principais.

    
por 05.02.2015 / 20:46
2

auto-assinaturas

Os certificados OpenPGP consistem em vários componentes.

Sempre:

  • exatamente uma chave principal
  • pelo menos um ID do usuário (UID)

Normalmente:

  • pelo menos uma subchave

Todos os componentes, exceto a chave principal, tornam-se parte do certificado, sendo assinados pela chave principal. Você não pode criar um certificado (com GnuPG) que contenha componentes sem assinatura própria. Você precisa excluir a assinatura própria posteriormente para alcançar essa situação.

Você pode ver as assinaturas executando

gpg --list-sigs

ou

gpg --with-colons --list-sigs

anexando um certificado a um email

Se você deseja anexar o certificado, primeiro é necessário exportá-lo para um arquivo:

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

ou

gpg --armor --output my_cert.asc --export $key_id
    
por 04.02.2015 / 22:50
1

Tanto quanto eu sei auto-assinado tem sentido em PKI. PGP / GPG usam uma ideia diferente - teia de confiança. Então você deve ter assinado sua chave pública do seu correspondente e assinar sua chave também

    
por 04.02.2015 / 21:42