Como você gera um arquivo .asc a partir da chave pública pgp?

2

Pelo pouco que eu sei, no openpgp você tem uma chave privada que você mantém trancada ou escondida em algum lugar e uma chave pública que você pode compartilhar livremente com qualquer pessoa.

Agora eu tenho visto muitas pessoas anexando arquivo .asc. Se eu clicar nisto, revela a chave pública da outra pessoa.

Ter um arquivo .asc é nada além de usar a colocação de sua chave pública e depois renomeá-la como algo como signature.asc ou algo mais envolvido também? O arquivo .asc parece ser um arquivo (como um arquivo .rar ou zip)

$ cat shirish-public-key.txt
-----BEGIN PGP SIGNATURE-----
publickeystring$
-----END PGP SIGNATURE-----

Como posso fazer / transformar em um arquivo .asc?

Eu poderia apenas fazer -

$ mv shirish-public-key.txt shirish.asc

mas não sei se é a coisa certa a fazer ou não.

Atualizar - tentei, mas não funciona: (

$ gpg --armor export shirish-public-key.txt > pubkey.asc
gpg: WARNING: no command supplied.  Trying to guess what you mean ...
usage: gpg [options] [filename]

Atualização 2 - Ainda assim, não funciona -

$ gpg --armor --export shirish-public-key.txt > pubkey.asc 
gpg: WARNING: nothing exported

parece que não é possível descobrir que a chave pública está em um arquivo de texto.

Atualização 3 -

É assim que o conteúdo do arquivo se parece

Veja o link

Mas se eu correr -

 $ gpg --import shirish-public-key.txt 
    gpg: invalid radix64 character 3A skipped
    gpg: invalid radix64 character 2E skipped
    gpg: invalid radix64 character 2E skipped
    gpg: invalid radix64 character 2E skipped
    gpg: invalid radix64 character 3A skipped
    gpg: invalid radix64 character 3A skipped
    gpg: invalid radix64 character 2E skipped
    gpg: CRC error; 1E6A49 - B36DCC
    gpg: [don't know]: invalid packet (ctb=55)
    gpg: read_block: read error: Invalid packet
    gpg: import from 'shirish-public-key.txt' failed: Invalid keyring
    gpg: Total number processed: 0

Parece que algo está errado em algum lugar.

FWIW gpg é a versão 2.2.5 do teste Debian (estou executando testes com todas as atualizações)

$ gpg --version
gpg (GnuPG) 2.2.5
libgcrypt 1.8.2
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Home: /home/shirish/.gnupg
Supported algorithms:
Pubkey: RSA, ELG, DSA, ECDH, ECDSA, EDDSA
Cipher: IDEA, 3DES, CAST5, BLOWFISH, AES, AES192, AES256, TWOFISH,
        CAMELLIA128, CAMELLIA192, CAMELLIA256
Hash: SHA1, RIPEMD160, SHA256, SHA384, SHA512, SHA224
Compression: Uncompressed, ZIP, ZLIB, BZIP2
    
por shirish 30.04.2018 / 21:14

1 resposta

3

Normalmente, um arquivo .asc é uma representação blindada em ASCII de material chave (ou uma assinatura). Seu shirish-public-key.txt parece ser apenas isso, então, se você tiver certeza de que ele contém as informações corretas, basta renomeá-lo, conforme sugerido. (Duvido que ele contenha sua chave pública - isso deve começar com -----BEGIN PGP PUBLIC KEY BLOCK----- .) Se um arquivo contém dados “binários” (o que eu estou supondo é o que você quer dizer quando diz que se parece com um arquivo), não é um Arquivo ASCII e geralmente não seria nomeado com uma extensão .asc .

Para exportar sua chave neste formato, do seu chaveiro em vez de um arquivo existente (garantindo assim que ela contenha os dados corretos), execute

gpg --armor --export YOUR_FINGERPRINT > pubkey.asc

Para facilitar as coisas, os arquivos geralmente são nomeados pelo ID da chave; no meu caso:

gpg --armor --export "79D9 C58C 50D6 B5AA 65D5  30C1 7597 78A9 A36B 494F" > 0x759778A9A36B494F.asc

Existem várias opções que você pode usar para ajustar os dados exportados; por exemplo, --export-options export-minimal removerá a maioria das assinaturas da chave, reduzindo muito seu tamanho (mas também sua utilidade para pessoas que se importam com a rede de confiança).

    
por 30.04.2018 / 21:20