web-dev-qa-db-ja.com

どのようにして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
4
shirish

通常、.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を指定すると、ほとんどの署名がキーから削除され、サイズが大幅に削減されます(信頼のWebを重視するユーザーのためのユーティリティも)。

4
Stephen Kitt

pGP公開鍵のテキストをコピーしてtexteditorに貼り付け、それを.txtとして保存して、ファイルの名前を.ascに変更できませんか?

これはWindowsで動作します

0
anonymous