mirror of https://github.com/golang/go.git
crypto/x509: return error for missing SerialNumber.
If the SerialNumber is nil in the template then the resulting panic is rather deep in encoding/asn1 and it's not obvious what went wrong. This change tests and returns a more helpful error in this case. Fixes #16603. Change-Id: Ib30d652555191eb78f705dff8d909e4b5808f9ca Reviewed-on: https://go-review.googlesource.com/27238 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
This commit is contained in:
parent
c2322b7ea6
commit
b23b9a762c
|
|
@ -1577,6 +1577,10 @@ func CreateCertificate(rand io.Reader, template, parent *Certificate, pub, priv
|
|||
return nil, errors.New("x509: certificate private key does not implement crypto.Signer")
|
||||
}
|
||||
|
||||
if template.SerialNumber == nil {
|
||||
return nil, errors.New("x509: no SerialNumber given")
|
||||
}
|
||||
|
||||
hashFunc, signatureAlgorithm, err := signingParamsForPublicKey(key.Public(), template.SignatureAlgorithm)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
|
|
|
|||
Loading…
Reference in New Issue