mirror of
https://github.com/golang/go
synced 2024-11-17 22:14:43 -07:00
crypto/x509: better document Verify's behaviour.
This change expands the documentation for Verify to mention the name constraints and EKU behaviour. Change-Id: Ifc80faa6077c26fcc1d2a261ad1d14c00fd13b23 Reviewed-on: https://go-review.googlesource.com/87300 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
This commit is contained in:
parent
67fdf587dc
commit
4dc1c491b0
@ -781,7 +781,17 @@ func (c *Certificate) isValid(certType int, currentChain []*Certificate, opts *V
|
||||
// If opts.Roots is nil and system roots are unavailable the returned error
|
||||
// will be of type SystemRootsError.
|
||||
//
|
||||
// WARNING: this doesn't do any revocation checking.
|
||||
// Name constraints in the intermediates will be applied to all names claimed
|
||||
// in the chain, not just opts.DNSName. Thus it is invalid for a leaf to claim
|
||||
// example.com if an intermediate doesn't permit it, even if example.com is not
|
||||
// the name being validated. Note that DirectoryName constraints are not
|
||||
// supported.
|
||||
//
|
||||
// Extended Key Usage values are enforced down a chain, so an intermediate or
|
||||
// root that enumerates EKUs prevents a leaf from asserting an EKU not in that
|
||||
// list.
|
||||
//
|
||||
// WARNING: this function doesn't do any revocation checking.
|
||||
func (c *Certificate) Verify(opts VerifyOptions) (chains [][]*Certificate, err error) {
|
||||
// Platform-specific verification needs the ASN.1 contents so
|
||||
// this makes the behavior consistent across platforms.
|
||||
|
Loading…
Reference in New Issue
Block a user