Update x509.go

compatible with 1.4
This commit is contained in:
Sun Yimin 2021-06-29 10:37:41 +08:00 committed by GitHub
parent 0469562903
commit b66f1b467c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1889,11 +1889,17 @@ func CreateCertificate(rand io.Reader, template, parent *x509.Certificate, pub,
type privateKey interface { type privateKey interface {
Equal(crypto.PublicKey) bool Equal(crypto.PublicKey) bool
} }
/*
if privPub, ok := key.Public().(privateKey); !ok { if privPub, ok := key.Public().(privateKey); !ok {
return nil, errors.New("x509: internal error: supported public key does not implement Equal") return nil, errors.New("x509: internal error: supported public key does not implement Equal")
} else if parent.PublicKey != nil && !privPub.Equal(parent.PublicKey) { } else if parent.PublicKey != nil && !privPub.Equal(parent.PublicKey) {
return nil, errors.New("x509: provided PrivateKey doesn't match parent's 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")
}
extensions, err := buildExtensions(template, bytes.Equal(asn1Subject, emptyASN1Subject), authorityKeyId) extensions, err := buildExtensions(template, bytes.Equal(asn1Subject, emptyASN1Subject), authorityKeyId)
if err != nil { if err != nil {