refactor(性能优化): 提升代码质量
build.yaml / build (push) Successful in 35s

This commit is contained in:
2026-07-08 16:27:30 +08:00
parent 6be7f4b006
commit bb26adfe61
2 changed files with 7 additions and 9 deletions
+2
View File
@@ -79,6 +79,7 @@ type sesVerifyResult struct {
SealCert SignatureCertInfo
SignCertRaw []byte
SealCertRaw []byte
SealRaw []byte
Certs [][]byte
SealType string
}
@@ -193,6 +194,7 @@ func verifySESSignature(data, signedData []byte, options *signatureVerifyOptions
result.SealCert = signatureCertInfo(sig.Seal.Cert)
result.SignCertRaw = sig.Cert
result.SealCertRaw = sig.Seal.Cert
result.SealRaw = sig.Seal.Raw
result.Certs = append(result.Certs, sig.Seal.CertList.Certs...)
result.Certs = append(result.Certs, options.SignCerts...)
result.SealType = sig.Seal.PicType
+5 -9
View File
@@ -95,6 +95,8 @@ type signatureVerifyOptions struct {
VerifyTime *time.Time
}
var signatureMethodReplacer = strings.NewReplacer("-", "", "_", "", " ", "")
// SignatureVerifyOption 签名验证选项函数
type SignatureVerifyOption func(*signatureVerifyOptions)
@@ -295,12 +297,7 @@ func (r *Reader) verifySignature(sigListPath string, sigRef Signature, options *
report.Error = err.Error()
return report
}
sig, err := parseSESSignature(signedValue)
if err != nil {
report.Error = err.Error()
return report
}
report.SealMatchOK = bytes.Equal(sealData, sig.Seal.Raw)
report.SealMatchOK = bytes.Equal(sealData, sesResult.SealRaw)
}
report.Valid = report.DigestOK && report.DataHashOK && report.SignedValueOK && report.SealOK && report.SealMatchOK && report.CertOK && report.certificatePolicyOK()
return report
@@ -498,15 +495,14 @@ func isECDSASignatureMethod(method string) bool {
// 返回: string 规范化算法标识
func signatureMethodText(method string) string {
method = strings.TrimSpace(method)
if strings.HasPrefix(strings.ToLower(method), "urn:oid:") {
if len(method) >= len("urn:oid:") && strings.EqualFold(method[:len("urn:oid:")], "urn:oid:") {
method = method[len("urn:oid:"):]
}
if idx := strings.LastIndexAny(method, "#/"); idx >= 0 && idx+1 < len(method) {
method = method[idx+1:]
}
method = strings.ToUpper(method)
method = strings.NewReplacer("-", "", "_", "", " ", "").Replace(method)
return method
return signatureMethodReplacer.Replace(method)
}
// verifyPublicKeySignature 验证公钥签名