From d6e38e0a218bc4ca88502e53b718c05c136f9691 Mon Sep 17 00:00:00 2001 From: Emman Date: Tue, 29 Jun 2021 09:51:00 +0800 Subject: [PATCH] MAGIC - fix 1.4 issue --- smx509/x509.go | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/smx509/x509.go b/smx509/x509.go index 9e090ab..05bc87e 100644 --- a/smx509/x509.go +++ b/smx509/x509.go @@ -1852,6 +1852,7 @@ func CreateCertificate(rand io.Reader, template, parent *x509.Certificate, pub, if err != nil { return nil, err } + if template.SerialNumber == nil { return nil, errors.New("x509: no SerialNumber given") } @@ -1889,9 +1890,15 @@ func CreateCertificate(rand io.Reader, template, parent *x509.Certificate, pub, type privateKey interface { Equal(crypto.PublicKey) bool } - if privPub, ok := key.Public().(privateKey); !ok { - return nil, errors.New("x509: internal error: supported public key does not implement Equal") - } else if parent.PublicKey != nil && !privPub.Equal(parent.PublicKey) { + + /* + if privPub, ok := key.Public().(privateKey); !ok { + return nil, errors.New("x509: internal error: supported public key does not implement Equal") + } else if parent.PublicKey != nil && !privPub.Equal(parent.PublicKey) { + return nil, errors.New("x509: provided PrivateKey doesn't match parent's PublicKey") + } + */ + if privPub, ok := key.Public().(privateKey); ok && parent.PublicKey != nil && !privPub.Equal(parent.PublicKey) { return nil, errors.New("x509: provided PrivateKey doesn't match parent's PublicKey") }