如何从 gpg 密钥中剥离子密钥?

Viv*_*rto 4 encryption gnupg

我正在尝试从我的 OpenPGP 密钥中删除子密钥。

这是目前的状态:

gpg> uid 1

pub  3072R/C08D1F4B  created: 2014-01-05  expires: never       usage: SCEA
                     trust: unknown       validity: unknown
sub  3072R/97AFAF8E  created: 2014-01-05  expires: never       usage: SEA
[ unknown] (1)* Vivarto (Banana) <vivarto@gmail.com>
Run Code Online (Sandbox Code Playgroud)

因此,有一个主键和一个子键:

pub  3072R/C08D1F4B  created: 2014-01-05  expires: never       usage: SCEA
sub  3072R/97AFAF8E  created: 2014-01-05  expires: never       usage: SEA
Run Code Online (Sandbox Code Playgroud)

我只想拥有第一部分

pub  3072R/C08D1F4B  created: 2014-01-05  expires: never       usage: SCEA
Run Code Online (Sandbox Code Playgroud)

我试过了deluid,但得到“你不能删除最后一个用户 ID!”

Jen*_*rat 5

您正在尝试删除用户 ID,而不是子项。使用key [n]delkey代替。从help里面的命令gpg --edit-key

uid         select user ID N
key         select subkey N
deluid      delete selected user IDs
delkey      delete selected subkeys
Run Code Online (Sandbox Code Playgroud)

如果您已经与他人共享了您的密钥,最好撤销密钥而不是删除它。通过删除它,其他人将无法意识到您不再使用它(您不能在关键服务器和其他人的计算机上删除它!),通过撤销您发出信号“不要使用这个(子)不再关键”。

不过,在删除子键之前,请阅读一些有关密钥管理的文字([1][2],我特别推荐Debian 的子键注释)。