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