x509 v1 certificate
Werner Koch
wk at gnupg.org
Wed Sep 20 14:21:04 CEST 2006
On Tue, 19 Sep 2006 01:32, ARIGA Seiji said:
> hmm. let me ask one more. output below is from "gpgsm -kv". you can see
> "[error: No value]" at "key usage:" and "chain length:" field (which,
> i think, is in x509 extension field that x509 version 1 cert doesn't
> have). isn't this the same error i got when i run "gpgsm --verify" ?
Yes. I have now looked at the certificate. The problematic part in
the chain is the root certificate:
$ gpgsm --dump-cert --with-validation --disable-crl-checks 85:37 [...]
Serial number: 7DD9FE07CFA81EB7107967FBA78934C6
Issuer: OU=VeriSign Trust Network,OU=(c) 1998 VeriSign[...]
Subject: OU=VeriSign Trust Network,OU=(c) 1998 VeriSign[...]
sha1_fpr: 85:37:1C:A6:E5:50:14:3D:CE:28:03:47:1B:DE:3A:09:E8:F8:77:0F
md5_fpr: A2:33:9B:4C:74:78:73:D4:6C:E7:C1:F3:8D:CB:5C:E9
certid: 92BE1570CFF4130C3B6EDB06C113047112E2F2C4.7DD9F[...]
keygrip: 2870B97CA003D18304669D8A8229E5B126911B1B
notBefore: 1998-05-18 00:00:00
notAfter: 2028-08-01 23:59:59
hashAlgo: 1.2.840.113549.1.1.5 (sha1WithRSAEncryption)
keyType: 1024 bit RSA
subjKeyId: [?]
authKeyId: [?]
keyUsage: [error: No value]
extKeyUsage: [none]
policies: [none]
chainLength: [error: No value]
crlDP: [error]
authInfo: [error]
subjInfo: [error]
[certificate is bad: No value]
As you rightfully noticed, the keyUsage is missing and gpgsm flags
this as an error. However, PKIX (rfc3280) says:
This extension MUST appear in certificates that contain public keys
that are used to validate digital signatures on other public key
certificates or CRLs. When this extension appears, it SHOULD be
marked critical.
Other profiles (e.g. ISIS-MTT) state it even more clear.
The missing basicContraints ("chainLength" above) is another reason
why this certificate is not valid (rfc3280, 4.2.1.10):
This extension MUST appear as a critical extension in all CA
certificates that contain public keys used to validate digital
signatures on certificates. [...]
The question whether version 1 is supported is thus non-relevant
because we are validating certificates. In this case PKIX requires
extensions and following from that version should be 3 as per 4.1.2.1.
The question now is how we can support these root certificates. An
option to bypass the failing checks would be an appropriate way.
However I am reluctant to add a general option to do this.
I am currently investigating how we can completely support qualified
signatures according to the German law. This might require a mechanism
to allow certain exceptions.
Salam-Shalom,
Werner
More information about the Gnupg-devel
mailing list