GnuPG que gera par de chaves pública / privada onde chave pública e chave privada são iguais e não diferentes

1

Eu quero gerar pares de chaves públicas privadas do GnuPG. Eu tenho gpg e não gpg2 installed.Então eu fui ao terminal e fiz:

gpg --gen-key

saída:

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)

Eu selecionei 1 Saída:

What keysize do you want? (2048) 

Eu selecionei 4096 Saída:

Key is valid for? (0)

Eu selecionei 0 Saída:

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) <[email protected]>"

Real name: My Name
Email address: [email protected]
Comment: comment
You selected this USER-ID:
"My Name (comment) <[email protected]>"

Saída:

You need a Passphrase to protect your secret key.

Eu dei a saída de senha:

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) <[email protected]>
sub   ABCDE/XXXXXXXM 2016-06-09

Eu adicionei a seguinte linha ao meu ~/.profile :

export GPGKEY=XXXXXXXM

Então, para a fonte eu fiz

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

Em seguida, eu o criptografei:

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

Saída:

Secret key is available.

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

Command> 

eu fiz

addkey

Saída:

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

Eu selecionei 6 Saída:

What keysize do you want? (2048)

Eu selecionei 4096 Saída:

Key is valid for? (0)

Eu selecionei 0 Saída:

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) <[email protected]>
Command> 

eu fiz:

save

Em seguida, fiz:

gpg --list-keys

Esta é a saída da minha amostra:

pub   ABCDE/XXXXXXXL 2016-06-09
uid                  My Name (comment) <[email protected]>
sub   ABCDE/XXXXXXXM 2016-06-09
sub   ABCDE/XXXXXXXN 2016-06-10

No entanto, quando eu faço

'gpg --list-secret-keys'

Eu recebo de-para-de a mesma saída, com exceção de sec no lugar de pub:

sec   ABCDE/XXXXXXXL 2016-06-09
uid                  My Name (comment) <[email protected]>
sub   ABCDE/XXXXXXXM 2016-06-09
sub   ABCDE/XXXXXXXN 2016-06-10

Eu sei que a parte após pub ABCDE/ é a chave pública e a parte após sec ABCDE/ é a chave privada. Então, resumindo, minha chave pública e minha chave privada são as mesmas.

Outro cenário peculiar é que aqui três linhas começam com ABCDE , mas a combinação tem que ser diferente.

Como posso obter chaves públicas e privadas separadas?

    
por rancho 10.06.2016 / 16:41

2 respostas

0

Finalmente consegui resolver o meu problema. Embora de uma maneira diferente.

Eu instalei o thunderbird, criei uma conta para o meu endereço de e-mail. Em seguida instalei a extensão enigmail. Do assistente de configuração do enigmail, criei o par de chaves para o meu acount e um certificado de revogação.

Mas aqui o problema ainda não tinha desaparecido. Eu fui para o gerenciamento de chaves enigmail, em seguida, cliquei direito na minha chave e selecionei o upload para o servidor de chaves públicas. Mas o erro constante estava chegando. Foi porque o enigmail não conseguiu adicionar as chaves ao meu chaveiro confiável.

Então, mais uma vez, cliquei com o botão direito na minha chave e selecionei a chave de exportação e, em seguida, habilitei a exportação da chave privada e cliquei em OK. Vamos supor que eu tenha dado o nome para o arquivo de saída mykey-pub-sec.asc

Em seguida, fui ao terminal e digitei:

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

Aqui substituí o $ GPGKEY pelo ID da chave

Isso é trabalho feito

    
por rancho 10.06.2016 / 23:00
1
  

Eu sei que a parte depois de pub ABCDE/ é a chave pública e a parte depois de sec ABCDE/ é a chave privada.

Você está confundindo o campo de identificação do algoritmo com o ID da chave.

sec   ABCDE/XXXXXXXL 2016-06-09
uid                  My Name (comment) <[email protected]>
sub   ABCDE/XXXXXXXM 2016-06-09
sub   ABCDE/XXXXXXXN 2016-06-10

O campo que você está escondendo em ABCDE nunca pode ser ABCDE . Este campo contém o algoritmo e o identificador do tamanho da chave, por exemplo, R4096 para uma chave RSA de 4096 bits. Espera-se que contenha as mesmas informações para o mesmo algoritmo e tamanho de chave. D1024 denota uma chave DSA de 1024 bits, et cetera.

O ID da chave (curta) é a parte por trás da barra / - e olhando para a questão, ela já parece ser diferente, de qualquer forma.

  

Como posso obter chaves públicas e privadas separadas?

Você já tem. Três pares de chaves públicas / privadas foram gerados, cada um deles sendo exclusivo. Não existe um ID de chave privada, no OpenPGP você sempre faz referência à chave pública (como chaves sempre vêm em pares, de qualquer forma).

    
por Jens Erat 11.06.2016 / 20:02