This commit is contained in:
邹宗楠
2022-07-06 17:04:52 +08:00
parent c47a130bc0
commit 1fde23f531

View File

@@ -8,7 +8,6 @@ import (
"errors" "errors"
"fmt" "fmt"
"git.rosy.net.cn/baseapi/utils" "git.rosy.net.cn/baseapi/utils"
"git.rosy.net.cn/gopay-main/pkg/util"
"io/ioutil" "io/ioutil"
"strings" "strings"
) )
@@ -127,19 +126,19 @@ func GetCertSN(certPathOrData interface{}) (sn string, err error) {
case string: case string:
certData, err = ioutil.ReadFile(pathOrData) certData, err = ioutil.ReadFile(pathOrData)
if err != nil { if err != nil {
return util.NULL, err return "", err
} }
case []byte: case []byte:
certData = pathOrData certData = pathOrData
default: default:
return util.NULL, errors.New("certPathOrData 证书类型断言错误") return "", errors.New("certPathOrData 证书类型断言错误")
} }
block, _ := pem.Decode(certData) block, _ := pem.Decode(certData)
if block != nil { if block != nil {
cert, err := x509.ParseCertificate(block.Bytes) cert, err := x509.ParseCertificate(block.Bytes)
if err != nil { if err != nil {
return util.NULL, err return "", err
} }
name := cert.Issuer.String() name := cert.Issuer.String()
serialNumber := cert.SerialNumber.String() serialNumber := cert.SerialNumber.String()
@@ -148,8 +147,8 @@ func GetCertSN(certPathOrData interface{}) (sn string, err error) {
h.Write([]byte(serialNumber)) h.Write([]byte(serialNumber))
sn = hex.EncodeToString(h.Sum(nil)) sn = hex.EncodeToString(h.Sum(nil))
} }
if sn == util.NULL { if sn == "" {
return util.NULL, errors.New("failed to get sn,please check your cert") return "", errors.New("failed to get sn,please check your cert")
} }
return sn, nil return sn, nil
} }
@@ -180,12 +179,12 @@ func GetRootCertSN(rootCertPathOrData interface{}) (sn string, err error) {
case string: case string:
certData, err = ioutil.ReadFile(pathOrData) certData, err = ioutil.ReadFile(pathOrData)
if err != nil { if err != nil {
return util.NULL, err return "", err
} }
case []byte: case []byte:
certData = pathOrData certData = pathOrData
default: default:
return util.NULL, errors.New("rootCertPathOrData 断言异常") return "", errors.New("rootCertPathOrData 断言异常")
} }
pems := strings.Split(string(certData), certEnd) pems := strings.Split(string(certData), certEnd)
@@ -203,15 +202,15 @@ func GetRootCertSN(rootCertPathOrData interface{}) (sn string, err error) {
h := md5.New() h := md5.New()
h.Write([]byte(name)) h.Write([]byte(name))
h.Write([]byte(serialNumber)) h.Write([]byte(serialNumber))
if sn == util.NULL { if sn == "" {
sn += hex.EncodeToString(h.Sum(nil)) sn += hex.EncodeToString(h.Sum(nil))
} else { } else {
sn += "_" + hex.EncodeToString(h.Sum(nil)) sn += "_" + hex.EncodeToString(h.Sum(nil))
} }
} }
} }
if sn == util.NULL { if sn == "" {
return util.NULL, errors.New("failed to get sn,please check your cert") return "", errors.New("failed to get sn,please check your cert")
} }
return sn, nil return sn, nil
} }