基于WASM的多线程本地签署方法、系统、设备及介质技术方案

技术编号:37968223 阅读:13 留言:0更新日期:2023-06-30 09:43
本申请公开一种基于WASM的多文件本地签署方法,包括:对每个待签署文件启动一个线程,检查该待签署文件下所有签署位,加入对应签署位图片构成待处理任务列表,根据待处理任务列表顺序触发执行签署任务,后端服务器根据任务获取签署位信息返回交互层;交互层根据签署位信息确定签署图片,根据待处理任务列表顺序获取对应文件,计算文件hash,顺序将文件hash与对应签署位数据传入WASM服务层,WASM服务层创建一个文件签名域,后端服务器将签署位的签名数据返回,根据签署位签名数据计算签名值,将签名值传送到WASM合成模块将签名值写入对应文件签署位,完成签名合成。完成签名合成。完成签名合成。

【技术实现步骤摘要】
基于WASM的多线程本地签署方法、系统、设备及介质


[0001]本申请涉及电子信息处理
,信息安全
,具体是一种基于WASM技术的多文件本地签署方法。

技术介绍

[0002]电子文件的在线电子签署服务,随着电子商务环境下日益广泛的应用需求发展,进一步电子政务、电子金融、电子档案领域广泛应用,涉及签署文件的安全性以及文件大、多份文件、多个签署位置等等复杂的签署要求。
[0003]由于在浏览器中Javascript在文件操作方面受到不少限制,它无法满足直接在前端完成签署SDK文件合成的需求。对于此问题常规采用的解决方案是访问服务端上所提供的服务,让服务端完成文件签署的功能,但鉴于网络通信问题和待签署文件内容在网络中传输可能带来的信息安全问题。
[0004]公开号:CN110943844A,名称“一种基于网页客户端本地服务的电子文件安全签署方法及其系统”公开一种基于网页客户端本地服务的电子文件安全签署方法及其系统,涉及对电子文书的电子签名服务领域,特别是为免Ukey的情况下,使用基于公钥密码学PKI标准的私钥,通过在服务端部署特定的WEB脚本命令,让WEB浏览器在访问特定内容时能够获取安全电子文件签署的模块,以代替传统需要Ukey或者手机终端配合的签署方式,用户仅需要使用网页浏览器即可安全的实现电子签署。
[0005]公开号CN113806815A ,名称“一种文件签署方法和系统
”ꢀ
客户端将接收到的目标文件标识和签署人的账号信息传输至云服务端;云服务端根据签署人的账号信息,获取认证信息,并根据目标文件标识和认证信息生成签署指令,将签署指令传输至签署服务端;签署服务端对签署指令进行解析,得到目标文件标识以及签署信息;签署服务端根据目标文件标识,从存储服务端中已存储的多个转档存储文件中,调取相应的目标转档存储文件;签署服务端将印章图片合成到目标转档存储文件中对应的印章位置处,得到初始签署文件;签署服务端根据初始签署文件和证书信息,进行签名值的计算,并将计算得到的签名值添加到初始签署文件中,得到目标签署文件。
[0006]上述文献签署任务均发生在服务端,在并发场景下对服务器的承载能力有较高的要求,且无法应对业务场景中可能存在的客户私密文件不想传输到网络环境中。对于大文件、多位置签署等场景通过网络通信方式由签名服务器实施签署,由于网络时延、大文件传输受限等问题,在线签署时可能发生延迟,在服务器端签署通过网络传输文件,签署文件的安全性也可得不到保证。

技术实现思路

[0007]本申请所要解决的问题,针对现有技术文件签署时,签署文件过大时涉及文件上传等相关操作带来的网络通信时间太长,签署文件的内容在网络传输过程中可能产生的信息安全问题,封闭网络不允许文件进行传输,服务器资源不足以支撑大批量及高并发的签
署文件等问题,提出一种基于WASM的多文件本地签署方法,通过前端展示需要进行签署的文件,对签署的文件合法性进行校验,创建本地多线程通道对文件进行分解及合并, 并生成相关存证报告上传至服务器端,完成本次签署任务。
[0008]根据本申请一方面,提出一种基于WASM的多文件本地签署方法,包括:本地签署端发起签署任务建立签署文件列表,编辑签署位,对每个待签署文件启动一个线程,将待签署文件下所有签署位,加入对应签署位图片构成待处理任务列表,根据待处理任务列表顺序触发执行签署任务,同时,交互层根据签署位信息确定签署图片,根据待处理任务列表获取对应文件,计算文件hash,顺序将文件hash与对应签署位数据传入WASM服务层,WASM服务层创建一个文件签名域,将签署图片设置为本次签名的外观;后端服务器获取签署位签名数据返回交互层,交互层根据签署位签名数据计算签名值, WASM合成模块将签名值写入对应文件签署位,合成签署位,完成文件签署。
[0009]进一步优选,每个线程处理一份带若干个签署位的待签字文件,每个线程单独调用WASM模块执行签署任务,多个待签署文件执行多线程并行处理,合成每个签署位的时候,更新文件的内容,同时写入合成信息,直到合成全部签署位,完成线程列表中所有文件的签名合成,结束线程,将合成信息上传后端服务器。
[0010]进一步优选,签署位数据格式为文件名与多个签署位数据聚集形成的带多个签署位数据,每条数据的内容是由文件file与多个签署位数据data组成,多个文件的签署数据格式为: [SignData, SignData... 多个带签署位的文件],其中,SignData为单个文件的完整签署数据格式,SignData = {file,signInfo: [SignOverlay, SealOverlay, ...多个签字位或者印章位]},签字位数据格式SignOverlay = { data, rectangle,2,page},签章位数据格式SealOverlay = { data, rectangle,1,page},其中,rectangle: 签署位的位置尺寸信息,file为 PDF文件,data: 签名值,signInfo :签名信息,page: 签署页码。
[0011]进一步优选,在处理单个文件的签署任务时,把该文件下所有签署位数据传到WASM服务层,WASM服务层根据该文件与对应的已签的签署位数据创建一个文件签名域,把每个签署位设置为本次签名的外观,得以使前端层生成的已签署的签署位贴在该文件上面,并更新为已签署文件,完成单个文件的签署。
[0012]进一步优选,WASM服务层中Wasm合成模块处理多个待合成文件时,执行一个多线程的时候检查该待合成文件下所有签署位,并把每个签署位数据上传到后端服务,同时把每个签署位图片保存,把后端服务返回的签署位信息与签署位图片加入待处理的任务队列;执行每个签字任务期间,把该任务里的签署位数据上传到后端服务返回签署位信息,与签署位图片一起保存到待合成的处理任务,得到待处理任务队列;根据待处理任务队列中签署位数据个数,将待处理的队列设置成对应的多个任务,并发执行待处理队列中的多个任务,处理完全部任务队列中的签署任务,从待合成的处理任务中获取所有数据,将该文件hash值与对应数据逐条传入wasm合成模块。
[0013]根据本申请另一方面,提出一种基于WASM的多文件本地签署系统,包括:本地签署端、前端与WASM交互层、WASM服务层、后端服务器,本地签署端发起签署任务建立签署文件列表,编辑签署位,对每个待签署文件启动一个线程,将待签署文件下所有签署位,加入对应签署位图片构成待处理任务列表,根据待处理任务列表顺序触发执行签署任务,同时,交互层根据签署位信息确定签署图片,根据待处理任务列表获取对应文件,计算文件hash,顺
序将文件hash与对应签署位数据传入WASM服务层,WASM服务层创建一个文件签名域,将签署图片设置为本次签名的外观;后端服务器获取签署位签名数据返回交互层,交互层根据签署位签名数据计算签名值, WASM合成模块将签名值写入对应文件签署位,合成签署位,完成文件签署。...

【技术保护点】

【技术特征摘要】
1.一种基于WASM的多文件本地签署方法,其特征在于,包括:本地签署端发起签署任务建立签署文件列表,编辑签署位,对每个待签署文件启动一个线程,将待签署文件下所有签署位,加入对应签署位图片构成待处理任务列表,根据待处理任务列表顺序触发执行签署任务,同时,交互层根据签署位信息确定签署图片,根据待处理任务列表获取对应文件,计算文件hash,顺序将文件hash与对应签署位数据传入WASM服务层,WASM服务层创建一个文件签名域,将签署图片设置为本次签名的外观;后端服务器获取签署位签名数据返回交互层,交互层根据签署位签名数据计算签名值, WASM合成模块将签名值写入对应文件签署位,合成签署位,完成文件签署。2.根据权利要求1所述的方法,其特征在于,每个线程处理一份带若干个签署位的待签字文件,每个线程单独调用WASM模块执行签署任务,多个待签署文件执行多线程并行处理,合成每个签署位的时候,更新文件的内容,同时写入合成信息,直到合成全部签署位,完成线程列表中所有文件的签名合成,结束线程,将合成信息上传后端服务器。3.根据权利要求1所述的方法,其特征在于,签署位数据格式为文件名与多个签署位数据聚集形成的带多个签署位数据,每条数据的内容是由文件file与多个签署位数据data组成,多个文件的签署数据格式为: [SignData, SignData... 多个带签署位的文件],其中,SignData为单个文件的完整签署数据格式,SignData = {file,signInfo: [SignOverlay, SealOverlay, ...多个签字位或者印章位]},签字位数据格式SignOverlay = { data, rectangle,2,page},签章位数据格式SealOverlay = { data, rectangle,1,page},其中,rectangle: 签署位的位置尺寸信息,file为 PDF文件,data: 签名值,signInfo :签名信息,page: 签署页码。4.根据权利要求1

3其中之一所述的方法,其特征在于,在处理单个文件的签署任务时,把该文件下所有签署位数据传到WASM服务层,WASM服务层根据该文件与对应的已签的签署位数据创建一个文件签名域,把每个签署位设置为本次签名的外观,得以使前端层生成的已签署的签署位贴在该文件上面,并更新为已签署文件,完成单个文件的签署。5.根据权利要求1

3其中之一所述的方法,其特征在于,WASM服务层中Wasm合成模块处理多个待合成文件时,执行一个多线程的时候检查该待合成文件下所有签署位,并把每个签署位数据上传到后端服务,同时把每个签署位图片保存,把后端服务返回的签署位信息与签署位图片加入待处理的任务队列;执行每个签字任务期间,把该任务里的签署位数据上传到后端服务返回签署位信息,与签署位图片一起保存到待合成的处理任务,得到待处理任务队列;根据待处理任务队列中签署位数据个数,将待处理的队列设置成对应的多个任务,并发执行待处理队列中的多个任务,处理完全部任务队列中的签署任务,从待合成的处理任务中获取所有数据,将该文件hash值与对应数据逐条传入wasm合成模块。6.一种基于WASM的多文件本地签署系统,其特征在于,包括:本地签署端、前端与WASM交互层、WASM服务层、后端服务器,本地签署端发起签署任务建立签署文件列表,编辑签署位,对每个待签署文件启动一个线程,将待签署文件下所有签署位,加入对应签署位图片构成待...

【专利技术属性】
技术研发人员:徐强吕诃杨远杰叶强
申请(专利权)人:重庆傲雄在线信息技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1