为满足项目业务需求,开发一款PC端电子签章APP,具备电子文档内容展示,翻页等阅读器功能;具备
智能密码钥匙验PIN、修改PIN等管理功能;具备电子印章信息查看,证书预览等功能;具备电子签章,数字签名等签署功能;具备电子文档验证等功能。
本项目以QT+C++作为技术路线,采用C/S架构,支持windows和linux等信创平台。主要分为
1)文档展示整体架构,利用QT界面设计文档的大纲、视图、印章操作区,实现文档展示、翻页、缩放、各区联动等功能。
2)版式文件处理模块,依照pdf1.7和gbt33190标准规范实现pdf/ofd文件的预览,签名、签章功能。
3)身份认证模块,利用QTWebengine 加载身份认证页面,与业务系统交互,完成身份认证。
4)签名、签章模块,依据国际/国密标准数据摘要、调用ukey或密码机签名,组成符合标准的P7或签章结构。
5)错误处理模块、配置管理、授权管理 实现对软件的灵活配置和管理。
6)自动升级模块,自动时请求后台,根据后端配置实现软件的自动检测升级。
我全程参与了客户端上述模块的整体设计,模块划分和代码实现。本软件目前处于维护阶段,完成了windows平台,海光、飞腾平台的适配、运行。
在软件实现的过程最难忘的主要是设计过程中整体架构设计和技术选型,要充分考虑软件的扩展性、健壮性和跨平台功能,为此我进行了模块化设计,文档签名底层处理与界面框架分离,降低模块间耦合程度。模块化的另一个好处是可以灵活配置软件功能,提供项目的定制化需求。