导出我的私钥后,我使用keytocard将我的私钥移动到智能卡上。这很好用,我可以按预期签署和使用 GnuPG。
现在我想回去在我的 GnuPG 数据库中拥有私钥。由于我备份了私钥,我认为这应该很容易,并尝试简单地导入它:
gpg --import-ownertrust mybackup
但是,这似乎无济于事。钥匙仍然没有附加卡,当我尝试签署某些东西时,GnuPG 会要求这张卡。
即使删除密钥并重新导入似乎也无济于事:
$ gpg --expert --delete-keys <KEYID>
$ gpg --edit-key <KEYID>
gpg (GnuPG) 2.1.11; Copyright (C) 2016 Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
gpg: key "<KEYID>" not found: No public key
$ gpg --import-ownertrust mybackup
gpg: key <KEYID>: secret key imported
gpg: Total number processed: 5
gpg: imported: 1
gpg: unchanged: 1
gpg: secret keys read: 5
gpg: secret keys imported: 1
gpg: secret keys unchanged: 2
这样一来,GnuPG 似乎导入了密钥。但是如果我尝试例如签名,GnuPG 仍然会要求智能卡。此外 --edit-key 仍然显示“card-no”。似乎使用上面的删除键操作没有删除此信息。如何在不参考智能卡的情况下恢复私钥?