我读过“GnuPG 的 `--desig-revoke` 命令应该如何使用?“问答,所以现在我知道了什么时候使用--desig-revoke。
因此,我有两个不同的私钥——一个在工作单位 (WORKWORK),一个在家里 (HOMEHOME)。为了做好最坏的打算(在当今的经济环境下,这不是一个坏主意),我希望能够在家里撤销我的工作 ID。
我希望能够利用所学知识来完成这一设置。在工作中,我使用了 addrevoker(--desig-revoke 的内部等效项,因为我的 gpg --help 没有显示 --desig-revoke 作为选项),不带敏感参数,以使我的主密钥能够为我的工作密钥生成撤销证书。然后我在工作中导出了我的公钥,并在家中将其导入。
导入后,我看到:
cmd.exe> gpg --list-keys
path/to/pubring.gpg
------------------------------------------------
pub 4096R/HOMEHOME 2010-12-11
uid [ultimate] PryrtCJ <PryrtCJ@home>
sub 4096R/________ 2010-12-11
sub 4096R/________ 2014-11-22 [expires: 2015-12-31]
sub 4096R/________ 2014-11-22 [expires: 2015-12-31]
pub 4096R/WORKWORK 2010-12-15
uid [ full ] PryrtCJ <PryrtCJ@work>
sub 4096R/________ 2010-12-15
并检查 addrevoke 结果是否传播到家中:
cmd.exe> gpg --edit-key WORKWORK
gpg (GnuPG) 2.0.26; Copyright (C) 2013 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.
This key may be revoked by RSA key HOMEHOME PryrtCJ@home
pub 4096R/WORKWORK created: 2010-12-15 expires: never usage: SC
trust: full validity: full
sub 4096R/________ created: 2010-12-15 expires: never usage: E
[ full ] (1). PryrtCJ <PryrtCJ@work>
所以我显然有权撤销我的工作密钥。但是当我尝试时,我得到的只是这个错误:
cmd.exe> gpg --output revoke-WORKWORK.asc --gen-revoke WORKWORK
gpg: secret key "WORKWORK" not found: Unknown system error
那么,我如何使用我新授予的权限实际生成撤销证书?
答案1
不要使用--gen-revoke
,而--desig-revoke
要使用 。来自man gpg
:
--desig-revoke name
Generate a designated revocation certificate for a key. This allows a
user (with the permission of the keyholder) to revoke someone else's key.
GnuPG 会询问您是否要为该其他密钥创建撤销证书,例如0xdeadbeef
使用您正在使用的密钥撤销:
$ gpg --desig-revoke 0xDEADBEEF
pub 1024R/DEADBEEF 2015-02-25 Alice
To be revoked by:
sec 2048R/E6F0D5F6 2015-02-25 Bob
Create a designated revocation certificate for this key? (y/N)
[...]
--desig-revoke
将输出 ascii-armored 撤销证书。