是否存在从sig文件获取RSA密钥的正式命令?
从sig文件获取RSA密钥相关的正式GPG命令
当然有对应的正式命令啦!不过先得明确一点:.sig签名文件本身并不包含完整的RSA公钥,它只存储了签名哈希值以及用于识别对应公钥的指纹/ID信息。下面分场景给你说明对应的命令:
1. 查看sig文件关联的签名密钥信息
如果你只是想确认这个sig文件是用哪个RSA密钥签署的,可以用以下正式命令:
- 查看详细签名信息(包括密钥指纹、签名者等):
这个命令会输出和你之前执行gpg --verify gpgme-1.9.0.tar.bz2.siggpg gpgme-1.9.0.tar.bz2.sig类似的内容,但它是明确的验证命令,不会出现“猜测意图”的警告。 - 仅列出签名相关的密钥信息:
gpg --list-sigs gpgme-1.9.0.tar.bz2.sig
2. 获取对应的完整RSA公钥
因为sig文件里没有完整公钥,你需要通过输出里的密钥ID(比如你得到的D8692123C4065DEA5E0F3AB5249B39D24F25E3B6)从密钥服务器获取:
gpg --recv-keys D8692123C4065DEA5E0F3AB5249B39D24F25E3B6
如果对方直接提供了公钥文件(比如.asc格式),你也可以直接导入:
gpg --import werner-koch-public-key.asc
关于你之前执行的命令
你直接运行gpg gpgme-1.9.0.tar.bz2.sig时,GPG因为没有收到明确的命令参数,就自动猜测你要验证签名,所以会尝试寻找对应的原始文件(gpgme-1.9.0.tar.bz2)来完成验证,这就是输出里出现“假设签名数据位于'gpgme-1.9.0.tar.bz2'中”警告的原因。
内容的提问来源于stack exchange,提问作者showkey
相关产品推荐
相关产品推荐

