pgp公開鍵から.ascファイルを生成する方法は?

pgp公開鍵から.ascファイルを生成する方法は?

私が知っている限り、openpgpにはどこかにロックまたは隠すことができる秘密鍵と、誰とでも自由に共有できる公開鍵があります。

今、.ascファイルを添付する人がたくさん見えます。クリックすると、相手の公開鍵が表示されます。

.ascファイルがある場合は、公開鍵をインポートしてSignature.ascと同じ名前に名前を変更するのですか、それとも関連性がありますか? .ascファイルがアーカイブファイル(.rarやzipファイルなど)のようです。

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

これを.ascファイルに変換するにはどうすればよいですか?

私はこれを行うことができます -

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

しかし、これが正しいことなのかはわかりません。

更新 - 試してみましたが動作しません:(

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

Update 2 - それでも動作しません -

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

公開鍵がテキストファイルのどこにあるかを把握できないようです。

アップデート3 -

ファイルの内容はこんな感じです

バラよりhttp://paste.debian.net/1022979/

しかし、私が走った場合 -

 $ 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

何か間違っているようだった。

FWIW gpgはDebianテストのバージョン2.2.5です(更新されたすべてのテストが実行されています)。

$ 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

答え1

通常、.ascファイルはキーデータ(または署名)をASCIIで保護した表現です。あなたの情報shirish-public-key.txtは次のとおりです。したがって、情報が正しいと確信している場合は、提案どおりに名前を変更してください。 (公開鍵が含まれているかどうか疑問です。で始める必要があります。-----BEGIN PGP PUBLIC KEY BLOCK-----)ファイルに「バイナリ」データが含まれている場合(アーカイブのように見えることを意味するようです)、これはASCIIファイルではなく、通常はそうではありません。.asc拡張子で名前をつけました。

この形式でキーをエクスポートするには、既存のファイルの代わりにキーリングで(したがって正しいデータが含まれていることを確認してください)、次の手順を実行します。

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

作業を簡単にするために、私の場合は通常、キーIDでファイル名を指定します。

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

エクスポートしたデータを調整するために使用できるいくつかのオプションがあります。たとえば、--export-options export-minimalほとんどの署名がキーから削除され、サイズが大幅に減少します(ただし、ネットワークの信頼に興味がある人にも役立ちます)。

答え2

PGP公開鍵のテキストをコピーしてテキストエディタに貼り付け、.txtとして保存してからファイル名を.ascに変更することはできませんか?

これはWindowsで動作します

関連情報