]> Cypherpunks repositories - gostls13.git/commit
crypto/x509: relax EKU checking in some cases.
authorAdam Langley <agl@golang.org>
Mon, 13 Nov 2017 18:38:05 +0000 (10:38 -0800)
committerAdam Langley <agl@golang.org>
Fri, 17 Nov 2017 18:52:45 +0000 (18:52 +0000)
commit2f1de1593e7993b233aa90ce874c407ae03741f8
tree39d7d3fb981a1bffb5505d85c5b8e385041fc2c8
parent5a22637cf7014fe5c9722e130f27506466db7b84
crypto/x509: relax EKU checking in some cases.

CL 71030 enforced EKU nesting at verification time, to go along with the
change in name constraints behaviour. From scanning the Certificate
Transparency logs, it's clear that some CAs are not getting EKU nesting
correct.

This change relaxes the EKU rules in a few ways:
  ∙ EKUs in roots are no longer checked.
  ∙ Any CA certificate may issue OCSP responder certificates.
  ∙ The ServerAuth and SGC EKUs are treated as a single EKU when
    checking nesting.
  ∙ ServerAuth in a CA can now authorise ClientAuth.
  ∙ The generic CodeSigning EKU can now authorise two, Microsoft-specific
    code-signing EKUs.

Change-Id: I7b7ac787709af0dcd177fe419ec2e485b8d85540
Reviewed-on: https://go-review.googlesource.com/77330
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
src/crypto/x509/name_constraints_test.go
src/crypto/x509/verify.go
src/crypto/x509/x509.go