keyflag subpacket and key expiration subpacket
Christoph Anton Mitterer
cam at mathematica.scientia.net
Fri Dec 16 04:14:28 CET 2005
>>So does this mean if a key would have its key-exp-time/key-flags on an
>>0x1F that gpg would understand this?
>>
>>
>Yes.
>
>
Ah, great, so gpg is compliant to the standard in that point.
I think only
key expiration time (9),
revokation key (12),
notation data (20) (in those cases where the data applies to the key
itself and not to a specific UID),
key flags (27) and
reasons for revokation (29)
should go there.....
Would it be easily possible with gpg to put those subpackets (currently
I'd only need it with 9 and 27) in a 0x1F sig? If so could you please
give me a hint to some function(s) in the code that I'd have to parse
and modify for my personal needs (as with the key flags when I wanted to
change it to C-only ;-) ). (Yes I'm still trying to create the - in my
opinion - perfect OpenPGP key ;-) )
>>Well these applications are not really implementations of OpenPGP. The
>>standard clearly specifies which parts an implementation must not
>>implement. And as far as I can see implementations are allowed to don't
>>implement subpackets (but in that case they must consider these packets
>>if the critical bit is set) but they aren't allowed to recognize
>>subpackets only on specifiv sig-types (expect those where the standard
>>itself allows a subpacket type only on special sig-types).
>>
>>
>I don't agree that the standard requires this, but even if it did, the
>IETF "be conservative in what you generate, liberal in what you
>accept" meta-rule applies.
>
Well that's always a problem.... but therfore we have standards, I think.
- First of all: I didn't say that gpg (or another implementation) MUST
put it in an 0x1F.
- I quick-parsed section 5.2 of the RFC an it says nowhere that an
conforming application would be allowed to not-implement any of the
given sig-types.
- It even says that an application MUST understand (but not necessarily
generate) v4 sigs; this follows from "Implementations SHOULD accept V3
signatures. Implementations SHOULD generate V4 signatures.", I think.
- In 5.2.3.1 it says that an "implementation SHOULD ignore any subpacket
of a type that it does not recognize" (except the "critical" bit is set)
BUT it says nowhere that an implementation understand a subpacket type
in on sig type but not in another....
This is why I came to the idea that in my opinion the standard requires
to understand this (of course: only if an implementation understands it
in other sig-types (i.e. 0x13), too)
btw: does gpg fully support the critical bit an can I somehow set it (if
so, please point me to specific functions, too; if possible)?
I'd like to do this for my:
- signature expiration time (3) (which requires a critical bit for
signature creation time (2), too)
- exportable certification (4)
- key expiration time (9)
- key flags (27)
subpackets, because I think those are really security relevant if an
application wouldn't be able to understand them. The other subpackets
are not so relevant, I think, because they couldn't create a security
hole if an application wouldn't understand them (e.g. if the trust
package isn't understood, other keys wouldn't be taken as valid => ok,
not so nice, but not a security problem BUT if an application doesn't
understand the 0x3 subpacket it wouldn't notice if the signature is
already invalid).
>Where is the benefit in using 0x1F and not being able to communicate with others?
>
>
- Well I think thats why there is a standard: To strictly specify how
implementations from different vendors can interoperate together. If a
vendor (e.g. PGP Corp.) would not comply with the rules, he'd break
interoperability, but I think just because a vendor has many users, no
other vendor should break the standard, too.
gpg doesn't do that, as you said it fully supports 0x1F sigs.
- The same thing applies (in my opinion) to the compliance options that
gpg supports,... I think the reason for their existance are that there
are a older applications (e.g. PGP 2.6.x) and especillay older keys (and
most users would like to continue using their existing keys).
Of course that's a good thing, ...
But: Are there really those many users of OLD implementations?
And for the old keys: Is it really cleaver to strongly support those
users in continue using their old keys? I think with v3 keys there is
that key-id-forging issue,... and the old v3 sigs use MD5 only, jesus!
It wouldn't be that bad (I think) to offend sensibilities of those users
and "force" them to create new keys...
Thanks and best wishes,
Chris.
btw: is there a policy for the gpg list? Should the author whom I reply
to be CC'ed?
-------------- next part --------------
A non-text attachment was scrubbed...
Name: cam.vcf
Type: text/x-vcard
Size: 449 bytes
Desc: not available
Url : /pipermail/attachments/20051216/09807a99/cam.vcf
More information about the Gnupg-devel
mailing list