style(代码风格): 整理声明顺序与字体模块
build.yaml / build (push) Successful in 51s

This commit is contained in:
xiaoqidun committed 2026-09-28 15:17:45 +08:00
1 parent 5e0da3da28
commit ee6c9f6a16
82 files changed
+4316 -4310

No files matched your search

+31 -31
View File
@@ -45,37 +45,6 @@ type ParsedSignatureSeal struct {
Height float64
}
// ParseSignatureSeal 解析独立SES印章供展示使用,不验证授权、有效期或制章者信任
// 入参: data DER编码的电子印章
// 返回: *ParsedSignatureSeal 印章信息及独立图像副本, error 解析错误
func ParseSignatureSeal(data []byte) (*ParsedSignatureSeal, error) {
var raw asn1.RawValue
rest, err := asn1.Unmarshal(data, &raw)
if err != nil || len(rest) != 0 || raw.Tag != asn1.TagSequence || raw.Class != asn1.ClassUniversal {
return nil, fmt.Errorf("invalid SES seal DER")
}
seal, err := parseSESSeal(raw)
if err != nil {
return nil, err
}
items, _ := asn1Children(raw.Bytes)
info, _ := asn1Children(items[0].Bytes)
picture, _ := asn1Children(info[3].Bytes)
width, err := asn1Integer(picture[2])
if err != nil || width <= 0 {
return nil, fmt.Errorf("invalid seal picture width")
}
height, err := asn1Integer(picture[3])
if err != nil || height <= 0 {
return nil, fmt.Errorf("invalid seal picture height")
}
format, image := probeSealMedia(seal.PicData)
if len(image) == 0 || format != seal.PicType {
return nil, fmt.Errorf("invalid seal picture")
}
return &ParsedSignatureSeal{Info: seal.Info, Type: format, Data: append([]byte(nil), image...), Width: float64(width), Height: float64(height)}, nil
}
// sesSignature SES签章值
type sesSignature struct {
Timestamp []byte
@@ -137,6 +106,37 @@ type sesVerifyResult struct {
SignatureTime time.Time
}
// ParseSignatureSeal 解析独立SES印章供展示使用,不验证授权、有效期或制章者信任
// 入参: data DER编码的电子印章
// 返回: *ParsedSignatureSeal 印章信息及独立图像副本, error 解析错误
func ParseSignatureSeal(data []byte) (*ParsedSignatureSeal, error) {
var raw asn1.RawValue
rest, err := asn1.Unmarshal(data, &raw)
if err != nil || len(rest) != 0 || raw.Tag != asn1.TagSequence || raw.Class != asn1.ClassUniversal {
return nil, fmt.Errorf("invalid SES seal DER")
}
seal, err := parseSESSeal(raw)
if err != nil {
return nil, err
}
items, _ := asn1Children(raw.Bytes)
info, _ := asn1Children(items[0].Bytes)
picture, _ := asn1Children(info[3].Bytes)
width, err := asn1Integer(picture[2])
if err != nil || width <= 0 {
return nil, fmt.Errorf("invalid seal picture width")
}
height, err := asn1Integer(picture[3])
if err != nil || height <= 0 {
return nil, fmt.Errorf("invalid seal picture height")
}
format, image := probeSealMedia(seal.PicData)
if len(image) == 0 || format != seal.PicType {
return nil, fmt.Errorf("invalid seal picture")
}
return &ParsedSignatureSeal{Info: seal.Info, Type: format, Data: append([]byte(nil), image...), Width: float64(width), Height: float64(height)}, nil
}
// parseSESSignature 解析SES签章值
// 入参: data 签章值数据
// 返回: *sesSignature SES签章值, error 错误信息