From baca02c1c1e7cd5c8e158c65bfb73f2a24d4797b Mon Sep 17 00:00:00 2001 From: emmansun Date: Tue, 16 Feb 2021 10:37:23 +0800 Subject: [PATCH] MAGIC - change to use interface --- smx509/x509.go | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/smx509/x509.go b/smx509/x509.go index 7acbca8..9d72151 100644 --- a/smx509/x509.go +++ b/smx509/x509.go @@ -2325,14 +2325,11 @@ func (c *Certificate) CreateCRL(rand io.Reader, priv interface{}, revokedCerts [ signed := tbsCertListContents var signature []byte if signatureAlgorithm.Algorithm.Equal(oidSignatureSM2WithSM3) { - privKey, ok := key.(*sm2.PrivateKey) - if !ok { - ecKey, ok := key.(*ecdsa.PrivateKey) - if ok && ecKey.Curve == sm2.P256() { - privKey, _ = new(sm2.PrivateKey).FromECPrivateKey(ecKey) - } + if smKey, ok := priv.(sm2.Signer); ok { + signature, err = smKey.SignWithSM2(rand, nil, signed) + } else { + return nil, errors.New("x509: require sm2 private key") } - signature, err = privKey.SignWithSM2(rand, nil, signed) } else { if hashFunc != 0 { h := hashFunc.New()