Re: test suite certs don't follow some RFC3280 MUSTs
Wrote "David A. Cooper" <david.cooper@nist.gov>, on Tue, Sep 02, 2003 at 04:27:12PM -0400:
> Sam Roberts wrote:
> >When running the cert chains through our validator, we found that CA
> >certificates lack the Key Usage extension (which must be present), and
> >that Basic Constraints are not always critical.
>
> There is at least one test in section 4.6 (Verifying Basic Constraints)
> in which the basic constraints extension is intentionally set
> non-critical. While RFC 3280 requires that this extension be critical,
> that is a generation requirement. Clients should be able to process the
> extension even if it is non-critical.
I agree, but I think the test suite, if it is to be an example of RFC 3280,
should follow the generational as well as processing requirements.
Its not clear what the usefulness of a generational requirement with no
matching processing requirement is, so I was assuming that we should at least
detect that the cert isn't totally conformant. In practice, there are lots of
certs that aren't conformant, whether to trust them is ultimately a
user-decision, we just report what we find to them.
> I could not find any certificates in which the key usage extension was
> not present. However, there are some tests in section 4.7 (Key Usage)
> in which an intermediate certificate includes a key usage extension with
> either the keyCertSign or cRLSign bit set to false. In such tests,
> however, the paths should be considered invalid as a result of this.
> Were there any examples of the problems that you mention above in which
> the contents of the certificates did not seem in line with the
> description of the tests that use the certificates? If so, could you
> give me a specific example of such a certificate?
The tests are in line with the test descriptions, but the first CA in the first
test appears to me not to have a key usage, and to have a non-critical basic
constraints:
Using cert: Trust Anchor CP.01.01.crt
Version: 3
Serial number: 99999
Signature algorithm: p1-sha1-with-rsa-encryption
Issuer: CN=Trust Anchor,OU=Testing,OU=DoD,O=U.S. Government,C=US
Validity period (y/m/d h:m:s) UTC:
not before 1999/01/01 12:01:00
not after 2048/01/01 12:01:00
Subject: CN=Trust Anchor,OU=Testing,OU=DoD,O=U.S. Government,C=US
Subject public key: p1-rsa-encryption
Type: rsa
Modulus Size: 1024
Modulus:
0: D3F3B9C1 33B73FA7 27F6411D 5C9C799D AAD29510 B784CEDA A3E5580C
28: 3E4E8B56 BF3EAA21 2D5013FE F3192E7A CB11CFF3 D3B85F57 9F9D9780
56: AF1D9557 12DF34D4 BDF3AE4D E77CA620 D4044EDA 63613E3D 2A8D37CF
84: C53CC9F9 FAF03948 0478BDB0 DDF52446 33A1469F 179F04BB CF37940C
112: 1343AA90 AC91781D BAF31884 2A822B47
Exponent:
0: 010001
[0] pkix-ce-subject-key-id: critical=no
0: AB9AEBF9 C2E7548F
[1] pkix-ce-basic-constraints: critical=no
ca=yes path-length=-1
[2] pkix-ce-authority-key-id: critical=no
Key ID:
0: AB9AEBF9 C2E7548F
Am I missing something?
Thanks,
Sam
--
Sam Roberts <sroberts@certicom.com>
Date Index |
Thread Index |
Problems or questions? Contact list-master@nist.gov