我已经将私钥导入到 gpg 中,我可以看到密钥就在那里:
$ gpg --list-keys
/home/stuyod/.gnupg/pubring.kbx
---------------------------------
pub rsa2048 2021-03-25 [C]
AA582DA4180115CF069355075E0F30EAA7985DA1
uid [ unknown] My Signing Key
$ gpg --list-secret-keys
/home/stuyod/.gnupg/pubring.kbx
---------------------------------
sec rsa2048 2021-03-25 [C]
AA582DA4180115CF069355075E0F30EAA7985DA1
uid [ unknown] My Signing Key
但是,当我尝试用它签名时,我收到一条错误,表明没有密钥:
$ gpg --default-key "AA582DA4180115CF069355075E0F30EAA7985DA1" --detach-sign bar.txt
gpg: Warning: not using 'AA582DA4180115CF069355075E0F30EAA7985DA1' as default key: No secret key
gpg: all values passed to '--default-key' ignored
gpg: no default secret key: Unusable secret key
gpg: signing failed: Unusable secret key
但是,因为我可以使用 --list-secret-keys 看到密钥,所以它没有意义。
答案1
这用法该密钥的字段仅包含C
(认证)。
如果没有子密钥,则此密钥只能用于签署其他密钥,因为它不允许使用S
(签名)、E
(加密)或A
(验证)用法,因此在尝试将其用作签名密钥时该密钥会被拒绝。