
1. 简介
微签电子签章系统是上海复园电子科技有限公司开发的一套智能安全电子签章软件,设计标准依据《中华人民共和国电子签名法》,通过公安部的检测认证,支持国密和RSA双重加密标准。
系统本地私有部署,无须安装任何控件,与各种协同办公平台、电子政务、OA、ERP、BPM、CRM等系统无缝集成,打通无纸化办公的最后一个环节。
微签电子印章管理后台,是整个电子签章系统的核心,完成对每一个电子印章全生命周期的管理,包括电子印章制作、印模管理、印章授权、数字证书绑定、签章日志等。
微签提供丰富的签章接口方式,本文只介绍微签手动签章Web API接口,适用于业务系统中需要在文件上手动电子签章的场景,提供Web和手机端两种接口,支持Web、APP、H5、小程序等方式对接。
业务系统可增加”签章“功能按钮,针对业务系统中产生的文件(doc/xls/pdf等),将打开微签签章界面,用户在界面中完成所有签章动作,签章后的文件返回业务系统。
2. 电脑端——手动签章接口
2.1. 手动签章效果
支持单页签章、批量签章、骑缝章、扫码手写签名、批注、时间戳等多种签章方式。
2.2. 实现原理
·用户系统需自行提供签章文件下载接口和签章完成结果回调接口。
·先调用签章文件预处理接口,进行签章文件预处理。
·预处理成功完成返回后,使用返回的data(不解密直接传参)和相应参数传参再调用手动签章接口,跳转到签章服务器手动签章页面。
·手动签章页面点击完成按钮,签章服务器将回调用户系统提供的签章完成接口,向客户端回传签章完成文件filekey。
·用户系统使用fileKey,调用签章服务器的下载接口,即可下载签章完成文件。
2.3. 流程说明
2.1. 手动签章接口描述
2.1.1. 签章文件预处理接口:
http://WeiQianSealURL:9999/manualSig/preprocess
请求方式:POST
参数格式:JSON
返回格式:JSON
2.1.1.1. 预处理接口请求参数说明(入参)
·所有参数需为Base64编码,中文编码为UTF-8,签章平台编码解码类为sun.misc.BASE64Decoder和sun.misc.BASE64Encoder。
· signKey和signSecret由我司商务部提供。
· 用户系统提供下载的签章文件,要指定签章文件类型,以下三种指定方式必须具备其一。
指定方式一,使用fileKey参数,并且参数中指定文件类型,如:FWBPDtask000000001.pdf。
指定方式二,在提供的下载地址中指定。如:
http://192.168.1.31:8080/download?id=FWBPDtask000000001.pdf
指定方式三,下载接口代码中指定,使用response.addHeader(“Content-Disposition”, “attachment;filename=FWBPDtask000000001.pdf”)方式。
·非必须参数fileKey,是为用户系统把签章结果和自己的系统任务对应起来而设计的。如果请求参数中提供了fileKey,那么此请求的签章结果也将返回fileKey;如果请求参数中没有提供,那么签章结果将返回一串随机序号。fileKey建议只使用英文和数字,最好包含用户系统的编号或名称,以及当前任务的ID。如:FWBPDtask000000001202107121412
·非必须参数manualRules为手动签章规则,可以指定位置、指定签章或指定手写签名,用户不能随意在文件上签章,只能按照指定规则进行签章,多个规则名用逗号分隔。
·签章文件不是pdf类型时,有下列非必须参数(传参时不用Base64编码)。当参数为空时,将取系统参数设置值。
2.4.1.2. 预处理接口返回参数说明(出参)
·当预处理成功时,返回data是加密的手动签章页面key。无需解密,直接使用此数据传参调用手动签章页面接口。
2.4.2. 手动签章页面接口:
http://WeiQianSealURL:9999/manualSig/manualSigPage
请求方式:GET
返回格式:JSON
2.1.1.1. 签章页面请求参数说明(入参)
signKey、signSecret要求Base64编码。
sigFile为预处理接口成功完成返回data,不需要Base64编码。
2.4.3. 签章完成文件下载接口
http://WeiQianSealURL:9999/no/getSealFile/FileKey
请求方式:GET
返回:签章完成文件
注意:使用fileKey下载签章完成文件时,当下载完成后,此fileKey将失效。
2.2. 返回参数示例
{“code”:”0″,
“msg”:”手动签章文件预处理完成!”,
“timestamp”:1575461457169,
“data”:”fe52a861b1eb4739bbb50cd1c73d72cd==”}
{“code”:”4008″,
“msg”:”手动签章验签参数有空值!”,
“timestamp”:1575460560586,
“data”:null}
2.3. 手动签章请求示例
function doManualSig() {
//手动签章请求入参
let _sealUser = btoa($(“#sealUser”).val());
let _signKey = btoa($(“#signKey”).val());
let _password = btoa($(“#password”).val());
let _signSecret = btoa($(“#signSecret”).val());
let _fileKey = btoa($(“#fileKey”).val());
let _provideSigFile = btoa(($(“#provideSigFile”).val()));
let _getSigFile = btoa($(“#getSigFile”).val());
$.ajax( {
url: _wqSigServer + ‘/manualSig/preprocess’,
data: JSON.stringify({
sealUser : _sealUser,
password : _password,
signKey : _signKey,
signSecret : _signSecret,
fileKey : _fileKey,
provideSigFile : _provideSigFile,
getSigFile : _getSigFile
}),
type:’post’,
dataType:’json’,
contentType: “application/json;charset=UTF-8”,
success:function(result) {
if(result.code == 0){
let sigUrl = _wqSigServer +’/manualSig/manualSigPage?sigFile=’ + result.data + ‘&signKey=’ + _signKey + ‘&signSecret=’ + _signSecret;
if(app==”app”){
let _pageType = btoa(‘1’);
sigUrl = _wqSigServer +’/manualSig/manualSigPage?sigFile=’+ result.data + ‘&pageType=’ + _pageType + ‘&signKey=’ +_signKey + ‘&signSecret=’ + _signSecret;
}
getManualSigPage(sigUrl);
}else{
console.log(result.msg);
}
},
});
}
2.7. 签章页面完成按钮回调接口示例
·示例中完成按钮回调接口传参:http://192.168.1.29:8080/doSeal/getSigFile
·签章服务器通过回调接口出参(sigFile),返回已签章文件fileKey。
·出参(sigCount)返回用户本次操作的签章数目。如值为0则表示用户没有签章就点击完成按钮返回。
@RequestMapping(value = “/getSigFile”)
public ModelAndView getSigFile(@RequestParam(“sigFile”) String sigFile,
@RequestParam(“sigCount”) Integer sigCount) {
String sigFilePrefix = wqSigServer + “/no/getSealFile/”;
return new ModelAndView(“redirect:/showSigFile.html?sigFilePrefix=”
+ sigFilePrefix + “&sigFile=” + sigFile + “&sigCount=” + sigCount);
}
2.8. 已签章文件下载接口
接口地址:http://WeiQianSealURL:9999/no/getSealFile/fileKey
返回:签章完成文件
请求方式:GET
注意:使用fileKey下载签章完成文件时,当下载完成后,此fileKey将失效。
后台请求下载示例:
String downloadUrl = “http://192.168.1.30:9999/no/”
+ “getSealFile/fe52a861b1eb4739bbb50cd1c73d72cd.pdf”;
String desFile = “D:/temp/seal/对账单_20200711.pdf”;
int byteRead = 0;
try {
URL url = new URL(downloadUrl);
URLConnection connection = url.openConnection();
InputStream input = connection.getInputStream();
FileOutputStream output = new FileOutputStream(desFile);
byte[] buffer = new byte[1024];
while((byteRead = input.read(buffer)) != -1){
output.write(buffer, 0, byteRead);
}
output.flush();
output.close();
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
前端下载文件并显示:
success:function(result){
if(result.code == 0){
window.location.href = ‘http://192.168.1.30:9999/no/getSealFile’ + result.data;
}else{
alert(result.msg);
}
},
注意:fileKey只支持一次下载,下载完成后fileKey将失效!
3. 移动端——手动签章接口
3.1. 移动端签章效果
业务系统调用微签移动端接口,在手机上完成盖章、签字。
移动端签章工具菜单:
签章效果:
3.2. 实现原理
·用户系统需自行提供签章文件下载接口和签章完成结果回调接口。
·先调用签章文件预处理接口,进行签章文件预处理。
·预处理成功完成返回后,使用返回的data(不解密直接传参)和相应参数传参再调用移动端手动签章接口,跳转到签章服务器移动端手动签章页面。
·手动签章页面点击完成按钮,签章服务器将回调用户系统提供的签章完成接口,向客户端回传签章完成文件filekey。
· 用户系统使用fileKey,调用签章服务器的下载接口,即可下载签章完成文件。
注:移动端手动签章接口与PC端手动签章接口的区别在于,调用手动签章页面时的参数不同。
3.3. 移动端手动签章接口描述
3.3.1. 签章文件预处理接口:
http://WeiQianSealURL:9999/manualSig/preprocess
请求方式:POST
参数格式:JSON
返回格式:JSON
3.3.1.1. 预处理接口请求参数说明(入参)
·所有参数需为Base64编码,中文编码为UTF-8,签章平台编码解码类为sun.misc.BASE64Decoder和sun.misc.BASE64Encoder。
·signKey和signSecret由我司商务部提供。
·用户系统提供下载的签章文件,要指定签章文件类型,以下三种指定方式必须具备其一。
指定方式一,使用fileKey参数,并且参数中指定文件类型,如:FWBPDtask000000001.pdf。
指定方式二,在提供的下载地址中指定。如:
http://192.168.1.31:8080/download?id=FWBPDtask000000001.pdf
指定方式三,下载接口代码中指定,使用response.addHeader(“Content-Disposition”, “attachment;filename=FWBPDtask000000001.pdf”)方式。
·非必须参数fileKey,是为用户系统把签章结果和自己的系统任务对应起来而设计的。如果请求参数中提供了fileKey,那么此请求的签章结果也将返回fileKey;如果请求参数中没有提供,那么签章结果将返回一串随机序号。fileKey建议只使用英文和数字,最好包含用户系统的编号或名称,以及当前任务的ID。如:FWBPDtask000000001202107121412
·非必须参数manualRules为手动签章规则,可以指定位置、指定签章或指定手写签名,用户不能随意在文件上签章,只能按照指定规则进行签章,多个规则名用逗号分隔。
·签章文件不是pdf类型时,有下列非必须参数(传参时不用Base64编码)。当参数为空时,将取系统参数设置值。
3.3.1.2. 预处理接口返回参数说明(出参)
3.3.2. 移动端手动签章页面接口:
http://WeiQianSealURL:9999/manualSig/manualSigPage
请求方式:GET
返回格式:JSON
3.3.2.1. 签章页面请求参数说明(入参)
signKey、signSecret、pageType要求Base64编码。
sigFile为预处理接口成功完成返回data,不需要Base64编码。
·所有参数需为Base64编码,中文编码为UTF-8,签章平台编码解码类为sun.misc.BASE64Decoder和sun.misc.BASE64Encoder。
·signKey和signSecret由我司商务部提供。
3.4. 移动端手动签章请求示例
function doManualSig() {
//手动签章请求入参
let _sealUser = btoa($(“#sealUser”).val());
let _signKey = btoa($(“#signKey”).val());
let _password = btoa($(“#password”).val());
let _signSecret = btoa($(“#signSecret”).val());
let _fileKey = btoa($(“#fileKey”).val());
let _provideSigFile = btoa(($(“#provideSigFile”).val()));
let _getSigFile = btoa($(“#getSigFile”).val());
$.ajax( {
url: _wqSigServer + ‘/manualSig/preprocess’,
data: JSON.stringify({
sealUser : _sealUser,
password : _password,
signKey : _signKey,
signSecret : _signSecret,
fileKey : _fileKey,
provideSigFile : _provideSigFile,
getSigFile : _getSigFile
}),
type:’post’,
dataType:’json’,
contentType: “application/json;charset=UTF-8”,
success:function(result) {
if(result.code == 0){
let sigUrl = _wqSigServer +’/manualSig/manualSigPage?sigFile=’ + result.data + ‘&signKey=’ + _signKey + ‘&signSecret=’ + _signSecret;
if(app==”app”){
let _pageType = btoa(‘1’);
sigUrl = _wqSigServer +’/manualSig/manualSigPage?sigFile=’+ result.data + ‘&pageType=’ + _pageType + ‘&signKey=’ +_signKey + ‘&signSecret=’ + _signSecret;
}
getManualSigPage(sigUrl);
}else{
console.log(result.msg);
}
},
});
}
3.5. demo中的回调接口示例
使用http://192.168.1.29:8080/doSeal/getSigFile来接收手动签章完成后返回的FileKey。
@RequestMapping(value = “/getSigFile”)
public ModelAndView getSigFile(@RequestParam(“sigFile”) String sigFile,
@RequestParam(“sigCount”) Integer sigCount) {
String sigFilePrefix = wqSigServer + “/no/getSealFile/”;
return new ModelAndView(“redirect:/showSigFile.html?sigFilePrefix=”
+ sigFilePrefix + “&sigFile=” + sigFile + “&sigCount=” + sigCount);
}
4. 手动签章规则接口
4.1. 签章规则接口概述
通过调用接口,程序将会跳转到签章服务器的自动或手动规则编辑页面,进行自动签章规则或手动签章规则的新建和编辑。
4.2. 新建签章规则接口
4.2.1 新建签章规则接口说明
·新建规则时必须提供规则模板文件的下载地址。
·首先调用规则模板预处理接口,进行模板文件预处理。
·模板文件预处理成功后,再调用手动签章接口,传入pageType为2是自动签章规则,传入pageType为3是手动签章规则。
4.2.2 模板文件预处理接口
接口地址:http://WeiQianSealURL:9999/manualSig/ruleFilePreprocess
请求方式:POST
参数格式:JSON
返回格式:JSON
请求参数说明(入参)
·所有参数需为Base64编码,中文编码为UTF-8,签章平台编码解码类为sun.misc.BASE64Decoder和sun.misc.BASE64Encoder。
·signKey和signSecret由我司商务部提供。
·用户系统提供下载的签章文件,要指定签章文件类型,以下三种指定方式必须具备其一。
指定方式一,使用fileKey参数,并且参数中指定文件类型,如:FWBPDtask000000001.pdf。
指定方式二,在提供的下载地址中指定。如:
http://192.168.1.31:8080/download?id=FWBPDtask000000001.pdf
指定方式三,下载接口代码中指定,使用response.addHeader(“Content-Disposition”, “attachment;filename=FWBPDtask000000001.pdf”)方式。
·sealUser必须是具有创建规则权限用户。
4.2.3 新建签章规则接口
接口地址:http://WeiQianSealURL:9999/manualSig/getRulePage
请求方式:POST
返回格式:JSON
请求参数说明(入参)
signKey、signSecret、pageType、callbackUrl、ruleName要求Base64编码。
sigFile为预处理接口成功完成,返回的data,不需要Base64编码。
4.2.4新建签章规则示例
function makeAutoSealRule() {
let _sealUser = btoa($(“#sealUser”).val());
let _signKey = btoa($(“#signKey”).val());
let _password = btoa($(“#password”).val());
let _signSecret = btoa($(“#signSecret”).val());
let _provideSigFile = btoa(($(“#provideSigFile”).val()));
let _callbackUrl = btoa(($(“#callbackUrl”).val()));
let _pageType = btoa($(“#rule_type”).val());
let _ruleName = btoa(unescape(encodeURIComponent($(“#ruleName”).val())));
$.ajax( {
url: _wqSigServer + ‘/manualSig/ruleFilePreprocess’,
data: JSON.stringify({
password : _password,
sealUser : _sealUser,
signKey : _signKey,
signSecret : _signSecret,
provideSigFile : _provideSigFile
}),
type:’post’,
dataType:’json’,
contentType: “application/json;charset=UTF-8”,
success:function(result) {
if(result.code == 0){
let params = {‘sigFile’:result.data,’signKey’:_signKey,’signSecret’:_signSecret,
‘callbackUrl’:_callbackUrl,’pageType’:_pageType,’ruleName’:_ruleName};
getManualSigPage(params);
}else{
alert(result.msg);
}
},
});
}
function getManualSigPage(params) {
var temp_form = document.createElement(“form”);
temp_form.action = _wqSigServer + ‘/manualSig/getRulePage’;
temp_form.target = “_self”;
temp_form.method = “post”;
temp_form.style.display = “none”;
for (var x in params) {
var opt = document.createElement(“textarea”);
opt.name = x;
opt.value = params[x];
temp_form.appendChild(opt);
}
document.body.appendChild(temp_form);
temp_form.submit();
}
4.2.5 返回参数说明(出参)
4.3. 编辑签章规则接口
4.3.1 编辑签章规则接口说明
·提供具有编辑签章规则权限用户和规则名称。
·调用规则编辑接口,就会跳转到签章服务器编辑签章规则页面。
4.3.2 规则编辑接口描述
接口地址:http://WeiQianSealURL:9999/manualSig/ruleUpdatePage
请求方式:GET
返回格式:JSON
请求参数说明(入参)
·所有参数需为Base64编码,中文编码为UTF-8,签章平台编码解码类为sun.misc.BASE64Decoder和sun.misc.BASE64Encoder。
·signKey和signSecret由我司商务部提供。
·sealUser必须是具有创建规则权限用户。
·ruleFile为预处理接口成功完成返回data,不需要Base64编码。
4.3.3编辑签章规则示例
function editAutoSealRule() {
let _signKey = btoa($(“#signKey”).val());
let _signSecret = btoa($(“#signSecret”).val());
let _ruleName = btoa(unescape(encodeURIComponent($(“#ruleName”).val())));
let _sealUser = btoa($(“#sealUser”).val());
let _password = btoa($(“#password”).val());
$.ajax( {
url: _wqSigServer +’/manualSig/preprocessRule’,
data: JSON.stringify({
signKey : _signKey,
signSecret : _signSecret,
ruleName : _ruleName,
sealUser : _sealUser,
password : _password
}),
type:’post’,
dataType:’json’,
contentType: “application/json;charset=UTF-8”,
success:function(result){
if(result.code == 0){
let _callbackUrl = btoa(($(“#callbackUrl”).val()));
window.location.href = _wqSigServer +’/manualSig/ruleUpdatePage?signKey=’
+ _signKey + ‘&signSecret=’ + _signSecret + ‘&callbackUrl=’ + _callbackUrl
+ ‘&ruleFile=’ + result.data;
}else{
alert(result.msg);
}
}
});
}
5. 签章分页查询接口
5.1. 签章分页查询接口概述
通过调用接口,可以分页查询指定用户个人授权签章信息或绑定的所有用户组授权的签章信息。
5.2. 签章分页接口描述
接口地址:http://WeiQianSealURL:9999/no/getPagedSealList
请求方式:POST
参数格式:JSON
返回格式:JSON
5.3. 请求参数说明(入参)
·所有参数需为Base64编码,中文编码为UTF-8,签章平台编码解码类为sun.misc.BASE64Decoder和sun.misc.BASE64Encoder。
·signKey和signSecret由我司商务部提供。
·非必须参数sealType,默认值为0(查询个人授权章),值为1(查询用户组签章)。注意:用户组授权签章不能修改密码和启用禁用密码,需管理员登录后台统一设置整个用户组签章密码。
·非必须参数pageNum和pageSeals默认值分别为1和10。
5.4. 签章分页查询前端示例
function getPagedSealList() {
let _sealUser = btoa($(“#sealUser”).val());
let _password = btoa($(“#password”).val());
let _pageNum = btoa($(“#pageNum”).val());
let _pageSeals = btoa($(“#pageSeals”).val());
let _signKey = btoa($(“#signKey”).val());
let _signSecret = btoa($(“#signSecret”).val());
let _sealName = btoa(unescape(encodeURIComponent($(“#sealName”).val())));
let _sealType = btoa(($(“#sealType”).val()));
$.ajax( {
url: _wqSigServer + ‘/no/getPagedSealList’,
data: JSON.stringify({
sealUser : _sealUser,
password : _password,
signKey : _signKey,
signSecret : _signSecret,
pageNum : _pageNum,
pageSeals : _pageSeals,
sealType : _sealType,
sealName : _sealName
}),
type:’post’,
dataType:’json’,
contentType: “application/json;charset=UTF-8”,
success:function(result){
if(result.code == 0){
let data = result.data;
console.log(data);
if(data.length == 0){
alert(‘用户没有任务签章授权!’)
}else{
sessionStorage.setItem(‘pageSeals’,JSON.stringify(data));
window.location.href = ‘showSealTable.html’;
}
}else{
alert(result.msg);
}
},
});
}
5.5. 返回参数说明(出参)
·查询成功返回的分页数据data为数组
·每条数据中签章信息有isealId、sealName、enabledPw(启用密码0,禁用密码1)、keepPw(不记住密码0,记住密码1)、sealFile(Base64码签章图片)
6. 签章密码功能接口
6.1. 签章密码功能接口概述
调用此接口可以修改个人授权签章密码功能,但是对于用户组授权签章无效。
6.2. 签章密码功能接口描述
接口地址:http://WeiQianSealURL:9999/no/editSealPassword
请求方式:POST
参数格式:JSON
返回格式:JSON
6.3. 请求参数说明(入参)
·所有参数需为Base64编码,中文编码为UTF-8,签章平台编码解码类为sun.misc.BASE64Decoder和sun.misc.BASE64Encoder。
·signKey和signSecret由我司商务部提供。
·非必须参数newPassword,不需要修改签章密码,只想启用或禁用密码功能,或只想记住密码时,就不用提供。如果提供newPassword就认为用户是想要修改签章密码。
·非必须参数enabledPw(禁用密码0,启用密码1)默认禁用密码。
·非必须参数keepPw(不记住密码0,记住密码1)默认不记住密码。当用户修改值为记住密码时,此时就算启用了密码功能,在签章页面也不会要求输入密码。
6.4. 签章密码功能接口前端示例
function editSealPassword() {
let _sealId = btoa($(“#sealId”).val());
let _sealUser = btoa($(“#sealUser”).val());
let _password = btoa($(“#password”).val());
let _signKey = btoa($(“#signKey”).val());
let _signSecret = btoa($(“#signSecret”).val());
let _newPassword = btoa(($(“#newPassword”).val()));
let _enabledPw = btoa(($(“#enabledPw”).val()));
let _keepPw = btoa(($(“#keepPw”).val()));
$.ajax( {
url: _wqSigServer + ‘/no/editSealPassword’,
data: JSON.stringify({
sealId : _sealId,
sealUser : _sealUser,
password : _password,
signKey : _signKey,
signSecret : _signSecret,
newPassword : _newPassword,
enabledPw : _enabledPw,
keepPw : _keepPw
}),
type:’post’,
dataType:’json’,
contentType: “application/json;charset=UTF-8”,
success:function(result){
alert(result.msg);
},
});
}
6.5. 返回参数说明(出参)
7. 签章规则查询接口
7.1. 签章规则查询接口概述
调用此接口,通过传参的规则名称,可以确认签章系统是否存在指定名称的自动或手动签章规则。
7.2. 签章规则查询接口描述
接口地址:http://WeiQianSealURL:9999/manualSig/checkRuleByName
请求方式:POST
参数格式:JSON
返回格式:JSON
7.3. 请求参数说明(入参)
·所有参数需为Base64编码,中文编码为UTF-8,签章平台编码解码类为sun.misc.BASE64Decoder和sun.misc.BASE64Encoder。
·signKey和signSecret由我司商务部提供。
7.4. 签章规则查询接口前端示例
function checkRule() {
let _sealUser = btoa($(“#sealUser”).val());
let _signKey = btoa($(“#signKey”).val());
let _password = btoa($(“#password”).val());
let _signSecret = btoa($(“#signSecret”).val());
let _ruleName = btoa(unescape(encodeURIComponent($(“#ruleName”).val())));
$.ajax( {
url: _wqSigServer + ‘/manualSig/checkRuleByName’,
data: JSON.stringify({
password : _password,
sealUser : _sealUser,
signKey : _signKey,
signSecret : _signSecret,
ruleName : _ruleName
}),
type:’post’,
dataType:’json’,
contentType: “application/json;charset=UTF-8”,
success:function(result) {
if(result.data == null){
alert(‘查无此规则!’);
}else{
alert(‘规则ID:’ + result.data.id);
}
},
});
}
7.5. 返回参数说明(出参)
8. 签章规则删除接口
8.1. 签章规则删除接口概述
调用此接口,通过传参的规则名称,可以删除指定名称的自动或手动签章规则。
8.2. 签章规则删除接口描述
接口地址:http://WeiQianSealURL:9999/manualSig/deleteRuleByName
请求方式:POST
参数格式:JSON
返回格式:JSON
8.3. 请求参数说明(入参)
·所有参数需为Base64编码,中文编码为UTF-8,签章平台编码解码类为sun.misc.BASE64Decoder和sun.misc.BASE64Encoder。
·signKey和signSecret由我司商务部提供。
8.4. 签章规则删除接口前端示例
function deleteRule() {
let _sealUser = btoa($(“#sealUser”).val());
let _signKey = btoa($(“#signKey”).val());
let _password = btoa($(“#password”).val());
let _signSecret = btoa($(“#signSecret”).val());
let _ruleName = btoa(unescape(encodeURIComponent($(“#ruleName”).val())));
$.ajax( {
url: _wqSigServer + ‘/manualSig/deleteRuleByName’,
data: JSON.stringify({
password : _password,
sealUser : _sealUser,
signKey : _signKey,
signSecret : _signSecret,
ruleName : _ruleName
}),
type:’post’,
dataType:’json’,
contentType: “application/json;charset=UTF-8”,
success:function(result) {
alert(result.msg);
},
});
}
8.5. 返回参数说明(出参)
9. 绑定用户证书接口
9.1. 绑定证书接口描述
接口地址:http://WeiQianSealURL:9999/cert/bindNewCertUser
请求方式:POST
参数格式:JSON
返回格式:JSON
9.2. 请求参数说明(入参)
·所有参数需为Base64编码,中文编码为UTF-8,签章平台编码解码类为sun.misc.BASE64Decoder和sun.misc.BASE64Encoder。
·signKey和signSecret由我司商务部提供。
·证书要绑定多用户时,需使用逗号分隔不同用户账号。
·用户系统提供下载的证书文件,必须是PFX类型证书。
·操作人可以是系统管理员或具有证书管理权限的普通用户。
9.3. 绑定用户证书请求示例
前端请求方式:
function bindCertUser() {
let _operator = btoa($(“#operator”).val());
let _password = btoa($(“#password”).val());
let _certUsers = btoa($(“#certUsers”).val());
let _certPassword = btoa($(“#certPassword”).val());
let _signKey = btoa($(“#signKey”).val());
let _signSecret = btoa($(“#signSecret”).val());
let _downloadUrl = btoa(($(“#downloadUrl”).val()));
$.ajax( {
url: _wqSigServer + ‘/cert/bindNewCertUser’,
data: JSON.stringify({
operator : _operator,
password : _password,
downloadUrl : _downloadUrl,
certPassword : _certPassword,
certUsers : _certUsers,
signKey : _signKey,
signSecret : _signSecret
}),
type:’post’,
dataType:’json’,
contentType: “application/json;charset=UTF-8”,
success:function(result){
alert(result.msg);
},
});
}
9.4. 返回参数说明(出参)
10. 创建签章用户接口
10.1. 创建签章用户接口描述
接口地址:http://WeiQianSealURL:9999/users/api/createUser
请求方式:POST
参数格式:JSON
返回格式:JSON
10.2. 请求参数说明(入参)
·所有参数需为Base64编码,中文编码为UTF-8,签章平台编码解码类为sun.misc.BASE64Decoder和sun.misc.BASE64Encoder。
·signKey和signSecret由我司商务部提供。
·用户账号支持英文、数字和下划线。
·操作人可以是系统管理员或具有创建用户权限的普通用户。
10.3. 创建签章用户请求示例
前端请求方式:
function createUser() {
let _signKey = btoa($(“#signKey”).val());
let _signSecret = btoa($(“#signSecret”).val());
let _account = btoa($(“#account”).val());
let _name = btoa(unescape(encodeURIComponent($(“#name”).val())));
let _operator = btoa($(“#operator”).val());
let _password = btoa($(“#password”).val());
$.ajax( {
url: _wqSigServer +’/users/api/createUser’,
data: JSON.stringify({
signKey : _signKey,
signSecret : _signSecret,
account : _account,
name : _name,
operator : _operator,
password : _password
}),
type:’post’,
dataType:’json’,
contentType: “application/json;charset=UTF-8”,
success:function(result){
alert(result.msg);
}
});
}
10.4. 返回参数说明(出参)
11. 错误码参照
12. 技术支持
如果您在使用中遇到问题,请仔细阅读此用户手册。如果仍不能解决问题,请与上海复园电子科技有限公司技术部取得联系,我们将为您提供及时、周到的服务。
上海复园电子科技有限公司
地址:上海市国定路335号2号楼20层
电话:021-65654240转技术支持
E-mail:support@forwave.com
网址:www.forwave.com