Re: [openpgp] subkey revocation signatures -- RFC compliance?

Werner Koch <> Fri, 27 July 2012 08:11 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id F207521F860F for <>; Fri, 27 Jul 2012 01:11:05 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -10.599
X-Spam-Status: No, score=-10.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, RCVD_IN_DNSWL_HI=-8]
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id qWZgIKGaruqj for <>; Fri, 27 Jul 2012 01:11:05 -0700 (PDT)
Received: from ( []) by (Postfix) with ESMTP id 73C7D21F8606 for <>; Fri, 27 Jul 2012 01:11:02 -0700 (PDT)
Received: from uucp by with local-rmail (Exim 4.72 #1 (Debian)) id 1SufdT-0001bP-G2 for <>; Fri, 27 Jul 2012 10:10:59 +0200
Received: from wk by with local (Exim 4.77 #3 (Debian)) id 1Sufc1-0007dT-Pq; Fri, 27 Jul 2012 10:09:29 +0200
From: Werner Koch <>
To: Daniel Kahn Gillmor <>
References: <>
Organisation: g10 Code GmbH
X-message-flag: Mails containing HTML will not be read! Please send only plain text.
OpenPGP: id=1E42B367;
Date: Fri, 27 Jul 2012 10:09:29 +0200
In-Reply-To: <> (Daniel Kahn Gillmor's message of "Fri, 27 Jul 2012 00:39:52 -0400")
Message-ID: <>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Cc: IETF OpenPGP <>
Subject: Re: [openpgp] subkey revocation signatures -- RFC compliance?
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: "Ongoing discussion of OpenPGP issues." <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Fri, 27 Jul 2012 08:11:06 -0000

On Fri, 27 Jul 2012 06:39, said:

>    the first octet).  Key revocation signatures (types 0x20 and 0x28)
>    hash only the key being revoked.
> [...]

This text goes back to the very first published draft from March 98 (the
I-D states 1997, but this is a typo).

> The subkey revocation packet generated by GnuPG 1.4.12 appears to be
> made over a digest that includes both the primary key and the subkey.

So PGP and GnuPG we have never been OpenPGP compliant.  Good catch.

I don't have that old OpenPGP toolkit implementation anymore around.  We
should check what it does.

The way it is implemented by GnuPG and PGP might technically be
justified by:

   0x28: Subkey revocation signature
       The signature is calculated directly on the subkey being revoked.
       A revoked subkey is not to be used.  Only revocation signatures
       by the top-level signature key that is bound to this subkey, or
       by an authorized revocation key, should be considered valid
       revocation signatures.

With the exception of an authorized revocation key, the primary key is
required to check the signature and thus it needs to be available.
Hashing the primary key along with the subkey is what we have to do for
other key signatures anyway.

We would need to dive into the WG archives to see why we came up with
the specific requirement.



Die Gedanken sind frei.  Ausnahmen regelt ein Bundesgesetz.