当我在 YubiKey 上生成新的 OpenPGP 密钥时,我可以选择将加密密钥的副本保存为备份,如下所示:
$ gpg --edit-card
Reader ...........: Yubico Yubikey NEO U2F CCID 00 00
Application ID ...: D2760001240102000006054943550000
Application type .: OpenPGP
Version ..........: 2.0
Manufacturer .....: Yubico
Serial number ....: 05494355
Name of cardholder: [not set]
Language prefs ...: [not set]
Salutation .......:
URL of public key : [not set]
Login data .......: [not set]
Signature PIN ....: forced
Key attributes ...: rsa2048 rsa2048 rsa2048
Max. PIN lengths .: 127 127 127
PIN retry counter : 3 3 3
Signature counter : 0
Signature key ....: [none]
Encryption key....: [none]
Authentication key: [none]
General key info..: [none]
gpg/card> admin
Admin commands are allowed
gpg/card> generate
Make off-card backup of encryption key? (Y/n) Y
这将导致在我的 YubiKey 上生成密钥以及存储在我的 GNUPGHOME 文件夹中的文件,例如sk_5F91DF31AB07820C.gpg
加密密钥。
我的问题是,如果我应该松开 YubiKey,如何将这个密钥导入回可用的形式?
我期待有一种方法可以在我的本地计算机上创建一个新密钥,然后将此备份密钥作为新的子密钥导入,但我找不到这样做的方法。
我看到在
gpg --edit-key
called下有一个选项bkuptocard
,这似乎可以满足我的要求,但是当我尝试这样做时,它似乎只将密钥加载到 YubiKey 上的插槽中,但实际上并没有使其可用于解密gpg。
如果我每次都丢失了 YubiKey,我该如何使用这个备份密钥?
gpg --import
它。该文件的内容将存储在您本地的 GnuPG 密钥环中,此时您可以直接使用该子密钥,也可以根据需要将其移动到新的智能卡中。
备份 sk_xxx.gpg
先导入公钥:
gpg --import public.pgp
添加数据以不因“无用户 ID”而失败:
printf '\xb4\x06foobar' >> sk_xxx.gpg
导入更新的备份密钥:
gpg --allow-non-selfsigned-uid --import sk_xxx.gpg