我正在尝试弄清楚我可以用 Librem Key 做什么,不能做什么,就使用钥匙槽而言。我生成了一个包含签名、加密和身份验证子密钥的 RSA 4096 位密钥,将其备份到 CD,然后使用keytocard
.
然后,我删除了 Librem 密钥,删除了生成的密钥的公钥和私钥,然后重新插入 Librem 密钥。现在,我可以使用存储在卡上的公钥来加密文件:
[test@localhost ~]$ gpg -r [email protected] --encrypt test_unencr
gpg: key [snipped-hex-string-1]: public key "[email protected] <[email protected]>" imported
gpg: Total number processed: 1
gpg: imported: 1
gpg: checking the trustdb
gpg: no ultimately trusted keys found
gpg: [snipped-hex-string-2]: There is no assurance this key belongs to the named user
sub rsa4096/[snipped-hex-string-2] 2020-10-28 [email protected] <[email protected]>
Primary key fingerprint: [snipped-hex-string-3]
Subkey fingerprint: [snipped-hex-string-4]
It is NOT certain that the key belongs to the person named
in the user ID. If you *really* know what you are doing,
you may answer the next question with yes.
Use this key anyway? (y/N) y
[test@localhost ~]$ ls | grep test_unencr
test_unencr
test_unencr.gpg
但如果我尝试解密该文件,则会收到错误消息:
[test@localhost ~]$ gpg --decrypt -r [email protected] test_unencr.gpg
gpg: encrypted with rsa4096 key, ID [snipped-hex-string-1], created 2020-10-28
"[email protected] <[email protected]>"
gpg: public key decryption failed: No secret key
gpg: decryption failed: No secret key
我认为这些智能卡的部分目的是它们允许您随身携带私钥并使用它,同时防止恶意软件读取您的私钥。有没有办法使用 GPG 智能卡来解密文件,或者这是不可能的?
答案1
注意:这过于简化,但这是基础知识,请不要跳过我,我们正在尝试解释子密钥和主密钥对的基础知识。这并不意味着是确定的。
是的,这是可能的,但是当卡安装时,必须正确设置,通常您将在永不过期的主 gpg 密钥对上创建,然后使用该对再次生成子密钥,通常一个用于签名,一个用于加密,然后备份主密钥并将其从您的笔记本电脑中删除,然后将子密钥传输到卡上,然后可以使用该卡来加密和解密消息和文件,但如果您的笔记本电脑或卡丢失或被盗,您并没有丢失主密钥,并且可以允许子密钥使您的备份主密钥对过期并生成新的。
编辑:要执行您在消息中所说的操作,您需要删除主密钥对,然后导入子密钥。如果您简单地使子项删除主项,它也会删除主子项,因此生成主项备份,然后生成子项备份,删除主项然后导入子项。
编辑:正确的步骤过程是
- 生成主密钥对
- 备份主密钥
- 生成子项
- 备份秘密子项
- 删除主密钥
- 导入子项
- 将钥匙转移到卡或笔记本电脑等。