我最近生成了两个新的子密钥来放在外部钥匙卡上。我以前有一个主密钥(使用标记为 SC)和一个子密钥(标记为 E)。这种安排非常适合我需要将一些本地文件保密。刚才我使用创建了两个新的子密钥addkey
,一个签名密钥和一个加密密钥。我使用keytocard
. 这似乎运行良好,并且该卡符合我的预期。
现在的问题是我不知道如何使用我的第一个子密钥(密钥 1)加密文件。无论我指定的收件人或用户(包括子密钥 ID)是什么,结果文件都显示为根据他们现在在我卡上的密钥(并且仅在我的卡上!)进行加密。
我的钥匙圈现在看起来像这样:
??? gpg --list-secret-keys
/home/caleb/.gnupg/pubring.gpg
------------------------------
sec rsa4096/75267693 2014-07-31 [expires: 2016-02-02]
uid [ultimate] Caleb Maclennan <caleb@alerque.com>
ssb rsa4096/B89B1E86 2014-07-31 [expires: 2018-07-30]
ssb> rsa2048/85BD5AD1 2015-10-06 [expires: 2016-10-05]
ssb> rsa2048/DFE6D89D 2015-10-06 [expires: 2016-10-05]
Run Code Online (Sandbox Code Playgroud)
为了加密,我正在运行这样的东西:
??? gpg --recipient B89B1E86 -a -e test.txt
Run Code Online (Sandbox Code Playgroud)
但我已经尝试了所有--default-key
, --local-user
( -u
) 和--recipient
( -r
) 包括组合。无论如何我摇晃它,解密结果告诉它是用我的卡密钥编码的:
??? gpg -d test.txt.asc
gpg: encrypted with 2048-bit RSA key, ID DFE6D89D, created 2015-10-06
"Caleb Maclennan <caleb@alerque.com>"
gpg: public key decryption failed: Card error
gpg: decryption failed: No secret key
Run Code Online (Sandbox Code Playgroud)
使用特定子密钥加密的正确程序是什么?
要使用特定的子键,并且没有 GnuPG 将子键解析为主键,请附加!
到键。例如,要加密子密钥DEADBEEF
,请使用--recipient DEADBEEF!
.
重要提示:由于碰撞攻击,不建议使用短密钥 ID ,而是使用长密钥 ID 或指纹。
归档时间: |
|
查看次数: |
2151 次 |
最近记录: |