| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- package binary_request
- import (
- "os"
- "private-go-sdk/http"
- "private-go-sdk/model/common"
- "encoding/json"
- )
- type BinarySignV2Request struct {
- // <ext>core:true</ext> 【数据签名主题】数据签名主题 【作用】 定义数据签名的标题,便于后续在前台显示数据签名列表时区分显示每条数据 【传参】 最大长度:500(包含) 【特殊说明】 若未传,则默认按【数据签名-数据签名id】作为主题名称
- Subject string `json:"subject,omitempty"`
- // <ext>core:true</ext> 【数据签名文件】数据签名文件 【作用】 传入签署的业务数据文件(使用数字证书签署整份文件) 例如:医院的病历系统中存在一份.txt格式的病历单,则可以将病历单文件传入接口进行签署 【传参】 1、支持的文件格式:pdf, xlsx,pptx, docx, doc, wps, xls, ppt, png, webp, tiff,xml,xht,xhtml,htm,html,txt,jpg,jpeg,gif,avi,zip,rtf。 2、数据签名文件和数据签名内容必传其一,均传入以数据签名文件为准。
- Data *os.File `json:"data,omitempty"`
- // <ext>core:true</ext> 【数据签名内容】数据签名内容 【作用】 以字符串的形式传入签署的业务数据(使用数字证书签署数据流) 例如:采购系统需要签署一份采购表单,采购表单本身不是文件只是表单上一串数据,则可传入数据进行签署 【传参】 数据签名文件和数据签名内容必传其一,均传入以数据签名文件为准。
- DataString string `json:"dataString,omitempty"`
- // <ext>core:true</ext> 【签名算法】签名算法 【作用】 指定签署使用的签名算法 1、RSA国际算法:即使用RSA数字证书进行数据签名 2、SM2国密算法:即使用SM2数字证书进行数据签名 3、RSA国际+SM2国密双算法:需使用RSA+SM2两种数字证书进行数据签名 4、不传值时以电子签章管理后台【签名算法配置 】为准 【传参】 取值范围:RSA(RSA国际算法),SM2(SM2国密算法),SM2WithRSA(RSA+SM2两种数字证书);不传值默认为:电子签章管理后台配置。
- DigestSigAlgType string `json:"digestSigAlgType,omitempty"`
- // <ext>core:true</ext> 【签署方式】签署方式 【作用】 1、使用印章签署:使用接口指定的印章签署数据 2、使用签名签署 :使用接口指定的签名签署数据,此时Signatory中的operator不能为空 【传参】 取值范围:COMPANY(使用印章签署),PERSONAL(使用签名签署);不传值默认为:COMPANY(使用印章签署)。
- TenantType string `json:"tenantType,omitempty"`
- // <ext>inner-type:Json<BinarySignatory>;core:true</ext> 【签署主体信息】签署主体信息 【作用】 签署数据签名的签署人、以及使用印章或签名
- Signatory string `json:"signatory"`
- // <ext>core:true</ext> 【是否添加时间戳 】是否添加时间戳 【作用】 用户在签署页面是否可添加时间戳图片(日期图片) 【传参】 1、取值范围:true(可添加),false(不可添加);不传值默认为:false(不可添加)。
- NeedTsa string `json:"needTsa,omitempty"`
- SignatoryObject *common.BinarySignatory `json:"signatoryObject,omitempty"`
- }
- func (obj BinarySignV2Request) GetUrl() string {
- return "/binary/sign/v2"
- }
- func (obj BinarySignV2Request) GetHttpParameter() *http.HttpParameter {
- parameter := http.NewPostHttpParameter()
- parameter.AddParam("subject", obj.Subject)
- parameter.AddParam("dataString", obj.DataString)
- parameter.AddParam("digestSigAlgType", obj.DigestSigAlgType)
- parameter.AddParam("tenantType", obj.TenantType)
- parameter.AddParam("needTsa", obj.NeedTsa)
- parameter.AddFiles("data", obj.Data)
- if obj.SignatoryObject != nil {
- jsonBytes, _ := json.Marshal(obj.SignatoryObject)
- parameter.AddParam("signatory", string(jsonBytes))
- } else {
- parameter.AddParam("signatory", obj.Signatory)
- }
- return parameter
- }
|