Como combinar pares de chaves públicas e privadas exportadas do OpenPGP?

2

Eu tenho alguns arquivos de chave pública e privada com backup. Como posso verificar qual arquivo de chave pública corresponde a qual arquivo de chave privada?

Eu tinha gerado pares de chaves GnuPG públicos e privados de 2.048 bytes usando

gpg --gen-key

Para fazer backup da (s) chave (s) pública (s), eu as exportei usando

gpg --armor --output ~/gpg_keys_backup/<Public Key Id>-public.key --export <Public Key Id>

Para fazer backup da (s) chave (s) privada (s), eu as exportei usando

gpg --armor --output ~/gpg_keys_backup/<Private Key ID>-private.key --export-secret-keys <Private Key ID>

Como faço para determinar quais chaves de backup pertencem a um par?

    
por PJ Singh 22.03.2016 / 03:03

2 respostas

2

Ao listar o conteúdo do arquivo de chave secreta, você pode consultar a qual chave pública pertence uma chave secreta.

gpg --list-packets [secret-key-file] | head
:secret key packet:
        version 4, algo 1, created 1356475387, expires 0
        pkey[0]: [8192 bits]
        pkey[1]: [17 bits]
        gnu-dummy S2K, algo: 0, simple checksum, hash: 0
        protect IV: 
        keyid: 4E1F799AA4FF2279

A última linha citada keyid contém o ID da chave longa da chave pública.

    
por Jens Erat 22.03.2016 / 13:43
1

Primeiro, o ID da chave pública e a ID da chave privada são os mesmos, portanto, os nomes dos seus arquivos devem ter sido combinados para começar.

Em segundo lugar, você não precisa fazer backup da chave pública. Basta importar a chave privada (que contém a chave privada e pública) e as chaves privada e pública serão importadas.

gpg --import private.key

Mas supondo que os nomes dos arquivos não coincidam por algum motivo, então você pode executar

gpg yourfile.key , que imprime algo como:

pub  2048R/1234ABCD 2016-12-31
sub  2048R/5678EFGH 2016-12-31

Corresponda os IDs de chave das chaves privada / pública (neste exemplo 1234ABCD).

Se você tiver uma tonelada de chaves, em vez de combiná-las, pode ser mais fácil simplesmente ignorar as chaves públicas exportadas e gerá-las novamente a partir de suas chaves particulares.

gpg --import private.key
gpg --armor --output <Key Id>-public.key --export <Key Id>
    
por wisbucky 03.08.2017 / 01:43