Answers:
您应指定--default-key
:
gpg -s --default-key DEADBEE5 input > output
然后检查
gpg -d < output | head -1
从gpg man
页面(--sign
部分):
用于签名的密钥是默认选择的,或者可以使用--local-user和--default-key选项进行设置。
--default-*
在命令行上没有任何意义。这些选项用于配置文件。
--local-user
和之间的区别--default-key
是,--local-user
如果您指定了不存在的密钥,则会产生错误。使用--default-key
,它将忽略不存在的密钥,并在密钥环中使用第一个密钥。
使用-u
/ 选择签名键--local-user
:
gpg --local-user 0xDEADBEE5 --sign file
可以多次给出此选项,以组合多个密钥的签名:
gpg --local-user 0xDEADBEE5 --local-user 0x12345678 --sign file
--local-user
是一样的使用--default-user
在我的答案
--default-*
应该推荐这种用法。我已经加入GnuPG邮件列表多年了。我以前从未见过这样的东西。
-key
当我想使用特定键而不是使用-user
YMMV 指定内容时,以其名称指定选项感觉更合适。
--default-key
在上面的评论中表示。以此为依据--local-user
,--default-key
根据我的经验,两者之间的区别是,如果没有匹配的键,第一个会失败,而第二个会退回到其他键。出于这个原因,我会非常谨慎地放入--default-key
脚本。
--default-key
说的人If there is no secret key available for any of the specified values, GnuPG will not emit an error message but continue as if this option wasn't given.
gpg: conflicting commands
当我尝试加密和签名时。