如何匹配导出的 OpenPGP 公钥和私钥对?

PJ *_*ngh 4 gnupg openpgp

我有一些备份的公钥和私钥文件。如何检查哪个公钥文件对应哪个私钥文件?

我使用生成了 2048 字节的公共和私有 GnuPG 密钥对

gpg --gen-key
Run Code Online (Sandbox Code Playgroud)

为了备份公钥,我使用导出它们

gpg --armor --output ~/gpg_keys_backup/<Public Key Id>-public.key --export <Public Key Id>
Run Code Online (Sandbox Code Playgroud)

为了备份私钥,我使用导出它们

gpg --armor --output ~/gpg_keys_backup/<Private Key ID>-private.key --export-secret-keys <Private Key ID>
Run Code Online (Sandbox Code Playgroud)

如何确定哪些备份密钥属于一对?

Jen*_*rat 5

通过列出秘钥文件的内容,您可以查询秘钥属于哪个公钥。

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
Run Code Online (Sandbox Code Playgroud)

引用的最后一行keyid包含公钥的长密钥 ID。