CN116132069B - 一种实现多ca数字证书和多电子签章互联互通的方法 - Google Patents

一种实现多ca数字证书和多电子签章互联互通的方法 Download PDF

Info

Publication number
CN116132069B
CN116132069B CN202310368944.3A CN202310368944A CN116132069B CN 116132069 B CN116132069 B CN 116132069B CN 202310368944 A CN202310368944 A CN 202310368944A CN 116132069 B CN116132069 B CN 116132069B
Authority
CN
China
Prior art keywords
interface
pdf
signature
file
certificate
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202310368944.3A
Other languages
English (en)
Other versions
CN116132069A (zh
Inventor
黄荣荣
何丹
夏寒
徐鹤
王慧
颜俊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jiangsu Guoxin Digital Technology Co ltd
Original Assignee
Jiangsu Guoxin Digital Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Jiangsu Guoxin Digital Technology Co ltd filed Critical Jiangsu Guoxin Digital Technology Co ltd
Priority to CN202310368944.3A priority Critical patent/CN116132069B/zh
Publication of CN116132069A publication Critical patent/CN116132069A/zh
Application granted granted Critical
Publication of CN116132069B publication Critical patent/CN116132069B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/33User authentication using certificates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0625Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • H04L9/3249Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using RSA or related signature schemes, e.g. Rabin scheme
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • H04L9/3252Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using DSA or related signature schemes, e.g. elliptic based signatures, ElGamal or Schnorr schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/72Signcrypting, i.e. digital signing and encrypting simultaneously
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing systems specially adapted for manufacturing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种实现多CA数字证书和多电子签章互联互通的方法,该方法为:建立CA数字证书与CA机构的对应关系,明确CA数字证书与CA机构的绑定关系;在各CA机构、签章厂家的技术上层,分别制定CA数字证书互联互通统一接入技术标准、电子签章互联互通统一接入技术标准;各CA机构按照接入技术标准开发CA数字证书的规范接口,各电子签章厂家按照统一接入技术标准开发电子签章的规范接口;通过开发客户端互联互通中间件,关联不同品牌CA数字证书、电子签章技术体系,兼容技术间的差异性;建立统一的应用标准规范,提供基于多CA、多签字签章的统一标准的技术服务。本发明能适配不同CA机构,实现了一证多用,降低了用户的成本。

Description

一种实现多CA数字证书和多电子签章互联互通的方法
技术领域
本发明涉及电子认证及应用领域,涉及一种实现多CA数字证书和多电子签章互联互通的方法。
背景技术
自2005年电子签名法颁布以来,传统应用的电子化发展方向明显。为了解决电子环节中的信任、公证问题,数字认证技术在各行各业活动中被广泛应用。数字认证技术是指采用非对称加密技术,由CA(Certificate Authority)认证机构颁发CA介质,通过CA介质实现对信息的不可抵赖、防破解。
目前,CA认证机构较多,包括国信CA、北京CA、上海CA、CFCA等,各CA认证机构相互分割市场且彼此之间无法互联互认。CA机构作为认证机构的上游为CA颁发机构提供软硬件,在参与各系统时,CA机构需要根据不同的系统要求办理各CA颁发机构的钥匙,提高了交易成本,降低了交易效率,并阻碍了电子认证的推广普及。
发明内容
本发明的目的在于提供一种实现多CA数字证书和多电子签章互联互通的方法,从而降低交易成本,提高交易效率,促进电子认证的推广普及。
实现本发明目的的技术解决方案为:一种实现多CA数字证书和多电子签章互联互通的方法,包括以下步骤:
步骤1,建立CA数字证书与CA机构的对应关系,明确CA数字证书与CA机构的绑定关系;
步骤2,在各CA机构、签章厂家的技术上层,分别制定CA数字证书互联互通统一接入技术标准、电子签章互联互通统一接入技术标准;
步骤3,各CA机构按照接入技术标准开发CA数字证书的规范接口,各电子签章厂家按照统一接入技术标准开发电子签章的规范接口;
步骤4,通过开发客户端互联互通中间件,关联不同品牌CA数字证书、电子签章技术体系,兼容技术间的差异性;同时,建立统一的应用标准规范,在各种使用场景中,提供基于多CA、多签字签章之上的统一标准的技术服务。
本发明与现有技术相比,其显著优点为:(1)实现了应用平台多CA的互联互通,用户办理一个CA可以适用于所有应用平台,降低了办理CA证书的成本;(2)能适配不同CA机构,实现了一证多用,提高了交易效率,促进了电子认证的推广普及。
附图说明
图1是本发明实现多CA数字证书和多电子签章互联互通的方法的流程图。
具体实施方式
本发明提供一种实现多CA数字证书和多电子签章互联互通的方法,包括以下步骤:
步骤1,建立CA数字证书与CA机构的对应关系,明确CA数字证书与CA机构的绑定关系;
步骤2,在各CA机构、签章厂家的技术上层,分别制定CA数字证书互联互通统一接入技术标准、电子签章互联互通统一接入技术标准;
步骤3,各CA机构按照接入技术标准开发CA数字证书的规范接口,各电子签章厂家按照统一接入技术标准开发电子签章的规范接口;
步骤4,通过开发客户端互联互通中间件,关联不同品牌CA数字证书、电子签章技术体系,兼容技术间的差异性;同时,建立统一的应用标准规范,在各种使用场景中,提供基于多CA、多签字签章之上的统一标准的技术服务。
作为一种具体示例,步骤1所述建立CA数字证书与CA机构的对应关系,明确CA数字证书与CA机构的绑定关系,具体为:
通过CA数字证书介质的PID_VID来标识CA机构,如果CA数字证书介质的PID_VID属于多家CA机构,借助CA数字证书的颁发者标识CA机构。
作为一种具体示例,步骤2所述,在各CA机构和签章机构技术之上,为实现互联互通,统一对应用层提供服务,分别制定CA数字证书互联互通统一接入规范、电子签章互联互通统一接入规范,具体为:
针对CA数字证书的业务场景,制定签名验签、加解密、证书解析的统一接口规范;
针对电子签章的业务场景,构建一套电子签章阅读器,制定读取电子签章统一接口规范。
作为一种具体示例,步骤3所述各CA机构按照统一接口规范定制CA数字证书的规范接口,各电子签章厂家按照统一接口规范定制电子签章的规范接口,具体为:
各CA机构、电子签章厂家根据步骤2制定的统一接口规范,使用机构自身技术实现CA数字证书和电子签章的具体接口,提供相应的接口套件。
作为一种具体示例,步骤4所述整合CA机构、电子签章厂家的规范接口,对外生成一套标准接口,具体为:
根据步骤1中建立的CA数字证书介质与CA机构的对应关系,整合步骤3中CA机构和电子签章厂家提供的接口文件,对外生成一套包含解析证书、数字签名、验证签名、加解密、盖章这些功能的标准接口。
作为一种具体示例,所述标准接口包括客户端接口和签章接口,其中:
所述客户端接口的组件统一使用Unicode字符集,采用_stdcall提供DLL控件,放置在各CA机构提供的客户端中,安装CA客户端后放置在系统目录下;客户端接口包括第一文件加密JSZY_EncryptFile接口、第一解密文件JSZY_DecryptFile接口、解密会话密钥JSZY_DecryptSessionKey接口、P1签名JSZY_PKCS1接口、解析证书JSZY_ParseCert接口、获取错误信息JSZY_GetLastError接口、初始化介质GXCA_InitKey接口、连接介质GXCA_ConnectKey接口、断开介质连接GXCA_DisConnectKey接口、获取介质属性GXCA_GetKeyParam接口、释放资源GXCA_FinalKey接口、第二文件字符串加密JSZY_EncryptStrFileByJTT接口、第二字符串解密文件JSZY_DecryptStrFileByJTT接口、加密会话密钥JSZY_EncryptSessionKey接口、第三文件加密JSZY_EncryptFileBySL接口、第三解密文件JSZY_DecryptFileBySL接口、是否升级驱动JSZY_IsNeedUpdateAssitant接口;
所述签章接口包括打开PDF文件接口、关闭PDF文件接口、PDF另存接口、打印PDF接口、获取正打开的PDF数据接口、获取PDF页数接口、获取PDF签章个数接口、显示/隐藏书签页接口、显示/隐藏工具栏接口、获取当前页接口、获取PDF路径接口、添加批注接口、添加文字水印接口、添加图片水印接口、加盖签章接口、根据坐标盖章接口、根据关键字盖章接口、加盖骑缝章接口、验证签章接口、撤销签章接口、上传PDF至FTP接口、获取签章后的差异数据接口、注册会签成员信息接口、会签成员信息设置接口。
作为一种具体示例,所述客户端接口,具体如下:
第一文件加密JSZY_EncryptFile接口,用于加密文件,首先产生会话密钥,使用会话密钥对文件做对称加密,使用加密证书对会话密钥做非对称加密;
第一解密文件JSZY_DecryptFile接口,用于解密文件;
解密会话密钥JSZY_DecryptSessionKey接口,用于解密会话密钥;
P1签名JSZY_PKCS1接口,用于对字符串做P1签名;
解析证书JSZY_ParseCert接口,用于解析证书;
获取错误信息JSZY_GetLastError接口,用于获取错误编码;
初始化介质GXCA_InitKey接口,用于初始化证书介质,实现key需要加载的功能;
连接介质GXCA_ConnectKey接口,用于连接证书介质;
断开介质连接GXCA_DisConnectKey接口,用于断开证书介质连接;
获取介质属性GXCA_GetKeyParam接口,用于获取证书介质的信息;
释放资源GXCA_FinalKey接口,用于释放资源;
字符串第二文件加密JSZY_EncryptStrFileByJTT接口,用于加密文件字符串,首先产生会话密钥,使用会话密钥对文件做对称加密,使用指定的服务器证书对会话密钥做非对称加密,再使用加密证书对已加密的会话密钥做非对称加密对需要保密的关键字符串进行加密保护;
第二字符串解密文件JSZY_DecryptStrFileByJTT接口,用于解密文件字符串;
加密会话密钥JSZY_EncryptSessionKey接口,用于使用服务器证书加密会话密钥;
第三文件加密JSZY_EncryptFileBySL接口,用于加密文件,使用设备证书公钥加密招标文件的项目专用,首先产生会话密钥,使用会话密钥对文件做对称加密,使用投标人加密证书对会话密钥做非对称加密,同时也使用设备证书对应CA的设备证书对会话密钥做非对称加密;预解密时,使用投标人证书解密密钥内容1进行投标文件解密;开标时,使用设备证书解密密钥内容2进行投标文件解密;其中:
密钥长度1:占用4字节,指使用的会话密钥sessionkey,加密后的长度;
密钥内容1:使用投标人证书加密后的会话密钥sessionkey,长度由密钥长度1指定;
密钥长度2:占用4字节,指使用的会话密钥sessionkey,加密后的长度;
密钥内容2:使用设备证书加密后的会话密钥sessionkey,长度由密钥长度2指定;
第三解密文件JSZY_DecryptFileBySL接口,用于客户端预解密;
是否升级驱动JSZY_IsNeedUpdateAssitant接口,用于判断当前用户电脑中的客户端版本是否需要升级。
作为一种具体示例,所述签章接口,具体如下:
打开PDF文件接口,用于通过PDF本地文件路径打开PDF文件;
打开PDF接口,用于通过PDF文件的Base64编码数据打开PDF;
关闭PDF文件接口,用于关闭已打开的PDF文件;
PDF另存接口,用于将PDF文档另存成文件;
打印PDF接口,用于打印已打开的PDF;
获取正打开的PDF数据接口,用于返回正显示的PDF的本地文件数据;
获取PDF页数接口,用于获取PDF页码总数;
获取PDF签章个数接口,用于获取PDF签章个数;
显示/隐藏书签页接口,用于设置是否显示书签;
显示/隐藏工具栏接口,用于设置是否显示工具栏;
获取当前页接口,用于获取打开的PDF当前显示页;
获取PDF路径接口,用于获取打开的PDF路径;
添加批注接口,用于在打开的PDF文档里添加批注信息;
添加文字水印接口,用于在打开的PDF文档里添加文字水印;
添加图片水印接口,用于在打开的PDF文档里添加图片水印;
加盖签章接口,用于使用USBKEY在PDF文档上拖动鼠标盖章;
根据坐标盖章接口,用于根据传入的页码和坐标在PDF文件上加盖签章;
根据关键字盖章接口,用于根据传入关键字在PDF文件上查找到最后一个关键字位置加盖签章;
加盖骑缝章接口,用于对PDF文档加盖骑缝章;
验证签章接口,用于根据签章索引验证签章有效性;
撤销签章接口,用于根据后签先撤得原则撤销签章;
上传PDF至FTP接口,用于将打开的PDF上传至FTP服务器;
获取签章后的差异数据接口,用于从签章得PDF文档中提取差异化数据;
注册会签成员信息接口,用于向签章服务器注册会签成员信息;
会签成员信息设置接口,用于设置本次会签成员信息。
本发明还提供一种移动终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述的实现多CA数字证书和多电子签章互联互通的方法。
本发明还提供一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现所述实现多CA数字证书和多电子签章互联互通的方法中的步骤。
下面结合附图,给出本发明的较佳实施例,并予以详细描述,使能更好地理解本发明的特点。
实施例
如图1所示,本发明一种实现CA互联互通的电子招投标方法包括以下步骤:
步骤1,建立CA数字证书与CA公司的对应关系,通过介质可明确知道该数字证书是该证书的颁发者是哪家CA;
步骤2,制订CA数字证书和电子签章互联互通统一接口规范;
步骤3,CA公司和电子签章厂家通过各自的技术,实现上述的接口规范,并管理各自的CA客户端;
步骤4,通过互联互通客户端及中间件,通过整合各CA和电子签章厂家的接口,对外提供统一接口服务;
步骤5,投标时,投标互联互通客户端调用对外统一接口,通过投标方使用的CA证书对生成的投标文件进加密,并将加密的投标文件及CA证书的类型上传至电子招投标平台;
步骤6,开标时,电子招投标平台使用证书登录后,投标方使用的CA证书对投标文件进行解密。
上述技术方案,实现了我国六十余个CA机构的互联互通,并已在公共资源领域的建设工程、交通工程、水利工程、国有产权、土地交易、货物交易等交易类别中成功应用。并通过以应用为导向的接口定义,同时兼容了RSA算法和国产SM2算,推动了国产算法的应用。
采用上述技术方案后,若有电子招标平台A和电子招标平台B,其中电子招标平台A支持国信CA、CFCA,电子招标平台B支持浙江CA、安徽CA,现有投标人T1具有国信CA颁发的CA数字证书,则投标人可以参与平台A和平台B的投标活动。若有电子招标平台A已经正式上线,后现因业务发展需要支持北京CA,则北京CA需要实现步骤1、步骤2、步骤3后无缝接入。
所述客户端接口的组件统一使用Unicode字符集,采用_stdcall提供DLL控件,放置在各CA客户端中,安装CA客户端后放置在系统目录下;客户端接口包括第一文件加密JSZY_EncryptFile接口、第一解密文件JSZY_DecryptFile接口、解密会话密钥JSZY_DecryptSessionKey接口、P1签名JSZY_PKCS1接口、解析证书JSZY_ParseCert接口、获取错误信息JSZY_GetLastError接口、初始化介质GXCA_InitKey接口、连接介质GXCA_ConnectKey接口、断开介质连接GXCA_DisConnectKey接口、获取介质属性GXCA_GetKeyParam接口、释放资源GXCA_FinalKey接口、第二文件加密JSZY_EncryptFileByJTT接口、第二解密文件JSZY_DecryptFileByJTT接口、加密会话密钥JSZY_EncryptSessionKey接口、第三文件加密JSZY_EncryptFileBySL接口、第三解密文件JSZY_DecryptFileBySL接口、是否升级驱动JSZY_IsNeedUpdateAssitant接口;
所述签章接口包括打开PDF文件接口、打开PDF接口、关闭PDF文件接口、PDF另存接口、打印PDF接口、获取正打开的PDF数据接口、获取PDF页数接口、获取PDF签章个数接口、显示/隐藏书签页接口、显示/隐藏工具栏接口、获取当前页接口、获取PDF路径接口、添加批注接口、添加文字水印接口、添加图片水印接口、加盖签章接口、根据坐标盖章接口、根据关键字盖章接口、加盖骑缝章接口、验证签章接口、撤销签章接口、上传PDF至FTP接口、获取签章后的差异数据接口、注册会签成员信息接口、会签成员信息设置接口。
一、客户端接口具体如下:
组件统一使用Unicode字符集,采用_stdcall提供DLL控件,放置在各CA的客户端中,安装后放置在系统目录下,具体如表1~表17所示:
表1 文件加密 JSZY_EncryptFile
Figure SMS_1
表2 解密文件 JSZY_DecryptFile
Figure SMS_2
表3 解密会话密钥 JSZY_DecryptSessionKey
Figure SMS_3
表4 P1签名 JSZY_PKCS1
Figure SMS_4
表5 解析证书 JSZY_ParseCert
Figure SMS_5
表6 获取错误信息 JSZY_GetLastError
Figure SMS_6
表7 初始化介质 GXCA_InitKey
Figure SMS_7
表8 连接介质 GXCA_ConnectKey
Figure SMS_8
表9 断开介质连接 GXCA_DisConnectKey
Figure SMS_9
表10 获取介质属性 GXCA_GetKeyParam
Figure SMS_10
表11 释放资源 GXCA_FinalKey
Figure SMS_11
表12 文件加密 JSZY_EncryptFileByJTT
Figure SMS_12
表13 解密文件 JSZY_DecryptFileByJTT
Figure SMS_13
表14 加密会话密钥 JSZY_EncryptSessionKey
Figure SMS_14
表15文件加密 JSZY_EncryptFileBySL
Figure SMS_15
表16 解密文件 JSZY_DecryptFileBySL
Figure SMS_16
表17 是否升级驱动 JSZY_IsNeedUpdateAssitant
Figure SMS_17
二、签章接口具体如下:
1、打开PDF文件
功能描述:通过PDF本地文件路径打开;
函数原型:ULONG GGZY_OpenPdfByPath (LPCTSTR bstrFilePath);
参数说明:
bstrFilePath:pdf文件路径;
返回:0为正确,其它为错误码。
2、打开PDF
功能描述:通过PDF文件的Base64编码数据打开;
函数原型:ULONG GGZY_OpenPdfByData (LPCTSTR bstrFileData);
参数说明:
bstrFileData:Base64编码的PDF文件数据;
返回:0为正确,其它为错误码。
3、关闭PDF文件
功能描述:关闭已打开的PDF;
函数原型:void GGZY_ClosePdfFile(void);
参数说明:无;
返回:无。
4、PDF另存
功能描述:将PDF文档另存成文件;
函数原型:void GGZY_PdfSaveAs(void);
参数说明:无;
返回:无。
5、打印PDF
功能描述:打印已打开的PDF;
函数原型:ULONG GGZY_PdfPrint(void);
参数说明:无;
返回:0为正确,其它为错误码。
6、获取正打开的PDF数据
功能描述:返回正显示的pdf的本地文件数据;
函数原型:BSTR GGZY_GetPdfBase64(void);
参数说明:无;
返回:Base64编码的PDF数据。
7、获取PDF页数
功能说明:获取PDF页码总数;
函数原型:ULONG GGZY_GetPdfPages(void);
参数说明:无;
返回:页码总数。
8、获取PDF签章个数
功能描述:获取PDF签章个数;
函数原型:ULONG GGZY_GetSealCount(void);
参数说明:无;
返回:签章个数。
9、显示/隐藏书签页
功能描述:设置是否显示书签;
函数原型:void GGZY_ShowBookmark(Bool bShow);
参数说明:
bShow:TRUE时显示书签页,FALSE时隐藏书签页;
返回:无。
10、显示/隐藏工具栏
功能描述:设置是否显示工具栏;
函数原型:void GGZY_ShowToolbar(Bool bShow);
参数说明:
bShow:TRUE时显示工具栏,FALSE时隐藏工具栏;
返回:无。
11、获取当前页
功能描述:获取打开的PDF当前显示页;
函数原型:ULONG GGZY_GetCurrentPage();
参数说明:
返回:当前页面数。
12、获取PDF路径
功能描述:获取打开的PDF路径;
函数原型:BSTR GGZY_GetPDFPath();
参数说明:
返回:PDF路径。
13、添加批注
功能描述:在打开的PDF文档里添加批注信息;
函数原型:ULONG GGZY_AddAnnotation(int nPages, int nXPos, int nYPos,BSTR bstrAnnotation, BSTR bstrAuthor);
参数说明:
nPages:页码;
nXPos:页面中的x位置;
nYPos:页面中的y坐标;
bstrAnnotation:批注内容;
bstrAuthor:作者;
返回:0为正确,其它为错误码。
14、添加文字水印
功能描述:在打开的PDF文档里添加文字水印;
函数原型:ULONG GGZY_AddTextWaterMark(int nPages,BSTR bstrText,FloatfLeft, Float fBottom,int nFontsize,int nColor,int nRotate);
参数说明:
nPages:页码;
bstrText:文字信息;
fLeft:左下角x坐标;
fBottom:左下角y坐标;
nFontsize:文字大小;
nColor:文字颜色;
nRotate:旋转角度;
返回:0为正确,其它为错误码。
15、添加图片水印
功能描述:在打开的PDF文档里添加图片水印;
函数原型:ULONG GGZY_AddPicWaterMark(int nPages, BSTR bstrPicData,Float fLeft, Float fBottom);
参数说明:
nPages:页码(0为全文,其它为单页,如1,2,3...);
bstrPicData:图片内容的BASE64编码;
fLeft:左下角x坐标;
fBottom:左下角y坐标;
返回:0为正确,其它为错误码。
16、加盖签章
功能描述:使用USBKEY在PDF文档上拖动鼠标盖章;
函数原型:ULONG GGZY_PDFSignSeal();
参数说明:无;
返回:0为正确,其它为错误码。
17、根据坐标盖章
功能描述:根据传入的页码和坐标在PDF文件上加盖签章;
函数原型:ULONG GGZY_PdfSignSealByCoordinate(int nPageNum, DOUBLEfPosX, DOUBLE fPosY);
参数说明:
ulPageNum:页码;
fPosX:签章左上角x坐标;
fPosY:签章左上角Y坐标;
返回:0为正确,其它为错误码。
18、根据关键字盖章
功能描述:根据传入关键字在PDF文件上查找到最后一个关键字位置加盖签章;
函数原型:ULONG GGZY_PdfSignSealByKeyword(BSTR bstrKeyword);
参数说明:
bstrKeyword:关键字;
返回:0为正确,其它为错误码。
19、加盖骑缝章
功能描述:对PDF文档加盖骑缝章;
函数原型:ULONG GGZY_AddEdgeSeal(ULONG ulType);
参数说明:
ulType:预留,默认为0;
返回:0为成功,其它为错误码;
说明:在pdf里已经加盖其它签章后不允许再加盖骑缝章。
20、验证签章
功能描述:根据签章索引0、1、2…验证签章有效性;
函数原型:ULONG GGZY_PdfVerifySeal(int nSealIndex);
参数说明:
nSealIndex:签章索引;
返回:0为文档未篡改,1为文档被篡改,其它为错误码。
21、撤销签章
功能描述:以后签先撤得原则撤销签章;
函数原型:ULONG GGZY_RevokeSign();
参数说明:
返回:0为成功,其它为错误码;
说明:必须插入该签章所用usbkey。
22、上传PDF至FTP
功能描述:将打开的PDF上传至FTP服务器;
函数原型:ULONG GGZY_UploadCurFileToFTP(BSTR bstrFtpIP, ULONG ulPort,BSTR bstrUserName, BSTR bstrUserPassword, BSTR bstrFilePath);
参数说明:
bstrFtpIP:ftp服务器IP;
ulPort:ftp服务器端口;
bstrUserName:ftp用户名;
bstrUserPassword:ftp密码;
bstrFilePath:上传到ftp服务器保存的文件名称;
返回:0为成功,其它为错误码。
23、获取签章后的差异数据
功能描述:从签章得PDF文档中提取差异化数据;
函数原型:BSTR GGZY_GetVariationDataFromPDF();
参数说明:无;
返回:签章数据(BASE64编码)。
24、获取签章后的差异数据
功能描述:向签章服务器注册会签成员信息;
函数原型:ULONG CNPdfPreviewCtrl::GGZY_RegisterMultiSign(LPCTSTRbstrPdfUrl, LPCTSTR bstrSessionID, ULONG ulIsUkey, LPCTSTR bstrIDNum, LPCTSTRbstrSignCoordinate, ULONG ulTimeout, LPCTSTR bstrPdfHash, LPCTSTRbstrCallback);
参数说明:
bstrPdfUrl:会签文件路径;
bstrSessionID:会签ID;
UlIsUkey:是否key签章 (1为U盾签章,0为服务器会签);
bstrIDNum:个人身份证或企业编号,-1代表未知,多个以“,”分隔,服务器签章模式下证件号必填;
bstrSignCoordinate:签章页数,-1代表未知,X坐标,Y坐标以“,”分隔,多条以“;”分隔;
ulTimeout:会签时间;
bstrPdfHash:Pdf摘要信息;
bstrCallback:签章流程完成后通知地址,为空时不发送通知;
返回:0为成功,其它为错误码。
25、获取签章后的差异数据
功能描述:设置本次会签成员信息;
函数原型:ULONG GGZY_SetMultiSign(LPCTSTR bstrSessionID, LPCTSTRbstrIDNum);
参数说明:
bstrSessionID:会话ID;
BstrIDNum:个人身份证或企业编号,-1代表未知,多个以“,”分隔,服务器签章模式下证件号必填;
返回:0为成功,其它为错误码。
备注:当应用调用签章控件进行会签时,需先设置此接口,后须在工具栏的签章按钮进行会签操作,会签过程中不能进行撤章或调用其它签章接口。必须等会签完成后才能进行文档操作。
以上所述的,仅为本发明的较佳实施例,并非用以限定本发明的范围,本发明的上述实施例还可以做出各种变化。即凡是依据本发明申请的权利要求书及说明书内容所作的简单、等效变化与修饰,皆落入本发明专利的权利要求保护范围,本发明未详尽描述的均为常规技术内容。

Claims (8)

1.一种实现多CA数字证书和多电子签章互联互通的方法,其特征在于,包括以下步骤:
步骤1,建立CA数字证书与CA机构的对应关系,明确CA数字证书与CA机构的绑定关系;
步骤2,在各CA机构、签章厂家的技术上层,分别制定CA数字证书互联互通统一接入技术标准、电子签章互联互通统一接入技术标准;
步骤3,各CA机构按照接入技术标准开发CA数字证书的规范接口,各电子签章厂家按照统一接入技术标准开发电子签章的规范接口;
步骤4,通过开发客户端互联互通中间件,关联不同品牌CA数字证书、电子签章技术体系,兼容技术间的差异性;同时,建立统一的应用标准规范,在各种使用场景中,提供基于多CA、多签字签章之上的统一标准的技术服务;
在步骤4中,整合CA机构、电子签章厂家的规范接口,对外生成一套标准接口,具体为:
根据步骤1中建立的CA数字证书介质与CA机构的对应关系,整合步骤3中CA机构和电子签章厂家提供的接口文件,对外生成一套包含解析证书、数字签名、验证签名、加解密、盖章这些功能的标准接口;
所述标准接口包括客户端接口和签章接口,其中:
所述客户端接口的组件统一使用Unicode字符集,采用_stdcall提供DLL控件,放置在各CA机构提供的客户端中,安装CA客户端后放置在系统目录下;客户端接口包括第一文件加密JSZY_EncryptFile接口、第一解密文件JSZY_DecryptFile接口、解密会话密钥JSZY_DecryptSessionKey接口、P1签名JSZY_PKCS1接口、解析证书JSZY_ParseCert接口、获取错误信息JSZY_GetLastError接口、初始化介质GXCA_InitKey接口、连接介质GXCA_ConnectKey接口、断开介质连接GXCA_DisConnectKey接口、获取介质属性GXCA_GetKeyParam接口、释放资源GXCA_FinalKey接口、第二文件字符串加密JSZY_EncryptStrFileByJTT接口、第二字符串解密文件JSZY_DecryptStrFileByJTT接口、加密会话密钥JSZY_EncryptSessionKey接口、第三文件加密JSZY_EncryptFileBySL接口、第三解密文件JSZY_DecryptFileBySL接口、是否升级驱动JSZY_IsNeedUpdateAssitant接口;
所述签章接口包括打开PDF文件接口、关闭PDF文件接口、PDF另存接口、打印PDF接口、获取正打开的PDF数据接口、获取PDF页数接口、获取PDF签章个数接口、显示/隐藏书签页接口、显示/隐藏工具栏接口、获取当前页接口、获取PDF路径接口、添加批注接口、添加文字水印接口、添加图片水印接口、加盖签章接口、根据坐标盖章接口、根据关键字盖章接口、加盖骑缝章接口、验证签章接口、撤销签章接口、上传PDF至FTP接口、获取签章后的差异数据接口、注册会签成员信息接口、会签成员信息设置接口。
2.根据权利要求1所述的实现多CA数字证书和多电子签章互联互通的方法,其特征在于,步骤1所述建立CA数字证书与CA机构的对应关系,明确CA数字证书与CA机构的绑定关系,具体为:
通过CA数字证书介质的PID_VID来标识CA机构,如果CA数字证书介质的PID_VID属于多家CA机构,借助CA数字证书的颁发者标识CA机构。
3.根据权利要求1所述的实现多CA数字证书和多电子签章互联互通的方法,其特征在于,步骤2所述,在各CA机构和签章机构技术之上,为实现互联互通,统一对应用层提供服务,分别制定CA数字证书互联互通统一接入规范、电子签章互联互通统一接入规范,具体为:
针对CA数字证书的业务场景,制定签名验签、加解密、证书解析的统一接口规范;
针对电子签章的业务场景,构建一套电子签章阅读器,制定读取电子签章统一接口规范。
4.根据权利要求1所述的实现多CA数字证书和多电子签章互联互通的方法,其特征在于,步骤3所述各CA机构按照统一接口规范定制CA数字证书的规范接口,各电子签章厂家按照统一接口规范定制电子签章的规范接口,具体为:
各CA机构、电子签章厂家根据步骤2制定的统一接口规范,使用机构自身技术实现CA数字证书和电子签章的具体接口,提供相应的接口套件。
5.根据权利要求1所述的实现多CA数字证书和多电子签章互联互通的方法,其特征在于,所述客户端接口,具体如下:
第一文件加密JSZY_EncryptFile接口,用于加密文件,首先产生会话密钥,使用会话密钥对文件做对称加密,使用加密证书对会话密钥做非对称加密;
第一解密文件JSZY_DecryptFile接口,用于解密文件;
解密会话密钥JSZY_DecryptSessionKey接口,用于解密会话密钥;
P1签名JSZY_PKCS1接口,用于对字符串做P1签名;
解析证书JSZY_ParseCert接口,用于解析证书;
获取错误信息JSZY_GetLastError接口,用于获取错误编码;
初始化介质GXCA_InitKey接口,用于初始化证书介质,实现key需要加载的功能;
连接介质GXCA_ConnectKey接口,用于连接证书介质;
断开介质连接GXCA_DisConnectKey接口,用于断开证书介质连接;
获取介质属性GXCA_GetKeyParam接口,用于获取证书介质的信息;
释放资源GXCA_FinalKey接口,用于释放资源;
字符串第二文件加密JSZY_EncryptStrFileByJTT接口,用于加密文件字符串,首先产生会话密钥,使用会话密钥对文件做对称加密,使用指定的服务器证书对会话密钥做非对称加密,再使用加密证书对已加密的会话密钥做非对称加密对需要保密的关键字符串进行加密保护;
第二字符串解密文件JSZY_DecryptStrFileByJTT接口,用于解密文件字符串;
加密会话密钥JSZY_EncryptSessionKey接口,用于使用服务器证书加密会话密钥;
第三文件加密JSZY_EncryptFileBySL接口,用于加密文件,使用设备证书公钥加密招标文件的项目专用,首先产生会话密钥,使用会话密钥对文件做对称加密,使用投标人加密证书对会话密钥做非对称加密,同时也使用设备证书对应CA的设备证书对会话密钥做非对称加密;预解密时,使用投标人证书解密密钥内容1进行投标文件解密;开标时,使用设备证书解密密钥内容2进行投标文件解密;其中:
密钥长度1:占用4字节,指使用的会话密钥sessionkey,加密后的长度;
密钥内容1:使用投标人证书加密后的会话密钥sessionkey,长度由密钥长度1指定;
密钥长度2:占用4字节,指使用的会话密钥sessionkey,加密后的长度;
密钥内容2:使用设备证书加密后的会话密钥sessionkey,长度由密钥长度2指定;
第三解密文件JSZY_DecryptFileBySL接口,用于客户端预解密;
是否升级驱动JSZY_IsNeedUpdateAssitant接口,用于判断当前用户电脑中的客户端版本是否需要升级。
6.根据权利要求1所述的实现多CA数字证书和多电子签章互联互通的方法,其特征在于,所述签章接口,具体如下:
打开PDF文件接口,用于通过PDF本地文件路径打开PDF文件;
打开PDF接口,用于通过PDF文件的Base64编码数据打开PDF;
关闭PDF文件接口,用于关闭已打开的PDF文件;
PDF另存接口,用于将PDF文档另存成文件;
打印PDF接口,用于打印已打开的PDF;
获取正打开的PDF数据接口,用于返回正显示的PDF的本地文件数据;
获取PDF页数接口,用于获取PDF页码总数;
获取PDF签章个数接口,用于获取PDF签章个数;
显示/隐藏书签页接口,用于设置是否显示书签;
显示/隐藏工具栏接口,用于设置是否显示工具栏;
获取当前页接口,用于获取打开的PDF当前显示页;
获取PDF路径接口,用于获取打开的PDF路径;
添加批注接口,用于在打开的PDF文档里添加批注信息;
添加文字水印接口,用于在打开的PDF文档里添加文字水印;
添加图片水印接口,用于在打开的PDF文档里添加图片水印;
加盖签章接口,用于使用USBKEY在PDF文档上拖动鼠标盖章;
根据坐标盖章接口,用于根据传入的页码和坐标在PDF文件上加盖签章;
根据关键字盖章接口,用于根据传入关键字在PDF文件上查找到最后一个关键字位置加盖签章;
加盖骑缝章接口,用于对PDF文档加盖骑缝章;
验证签章接口,用于根据签章索引验证签章有效性;
撤销签章接口,用于根据后签先撤得原则撤销签章;
上传PDF至FTP接口,用于将打开的PDF上传至FTP服务器;
获取签章后的差异数据接口,用于从签章得PDF文档中提取差异化数据;
注册会签成员信息接口,用于向签章服务器注册会签成员信息;
会签成员信息设置接口,用于设置本次会签成员信息。
7.一种移动终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至6中任一项所述的实现多CA数字证书和多电子签章互联互通的方法。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1至6中任一项所述实现多CA数字证书和多电子签章互联互通的方法中的步骤。
CN202310368944.3A 2023-04-10 2023-04-10 一种实现多ca数字证书和多电子签章互联互通的方法 Active CN116132069B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310368944.3A CN116132069B (zh) 2023-04-10 2023-04-10 一种实现多ca数字证书和多电子签章互联互通的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310368944.3A CN116132069B (zh) 2023-04-10 2023-04-10 一种实现多ca数字证书和多电子签章互联互通的方法

Publications (2)

Publication Number Publication Date
CN116132069A CN116132069A (zh) 2023-05-16
CN116132069B true CN116132069B (zh) 2023-06-27

Family

ID=86299387

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310368944.3A Active CN116132069B (zh) 2023-04-10 2023-04-10 一种实现多ca数字证书和多电子签章互联互通的方法

Country Status (1)

Country Link
CN (1) CN116132069B (zh)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101022339A (zh) * 2007-03-23 2007-08-22 郭传真 一种结合数字证书和印章的电子签章认证方法
CN101378317A (zh) * 2008-03-25 2009-03-04 公安部第三研究所 一种office文档电子签章结果互验方法
CN101714222A (zh) * 2008-10-08 2010-05-26 刘学明 基于公证机构公证戳的安全电子签章方法
CN103475485B (zh) * 2013-09-16 2017-03-22 浙江汇信科技有限公司 基于数字证书互联互通的身份认证支撑平台及认证方法
AT519025B1 (de) * 2016-11-09 2018-03-15 Ait Austrian Inst Tech Gmbh Verfahren zum Austausch von Datenfeldern von zertifizierten Dokumenten
CN110851812A (zh) * 2019-10-29 2020-02-28 北京国信京宁信息安全科技有限公司 多ca ukey介质、数字证书及电子印章识别和应用系统及方法
CN112862487A (zh) * 2021-03-03 2021-05-28 青岛海链数字科技有限公司 一种数字证书认证方法、设备及存储介质

Also Published As

Publication number Publication date
CN116132069A (zh) 2023-05-16

Similar Documents

Publication Publication Date Title
US11349819B2 (en) Method and system for digital rights management of documents
US10715334B2 (en) Methods and apparatus for validating a digital signature
CN109074462B (zh) 使用分布式散列表和点对点分布式分类账验证数字资产所有权的方法和系统
CN109784922B (zh) 电子合同签署方法、装置、计算机设备和存储介质
US8386793B2 (en) Method and apparatus for implementing electronic seal
CN115391749A (zh) 使用分布式散列表和区块链保护计算机软件的方法及系统
EP1055989A1 (en) System for digitally signing a document
AU2014279915B2 (en) System and method for encryption
US11757640B2 (en) Non-fungible token authentication
WO2021218166A1 (zh) 合同文签方法、装置、设备及计算机可读存储介质
CN107508685B (zh) 一种云计算环境中应用电子签名服务系统的实现方法
KR20210044312A (ko) 문서 인증 및 공개 시스템 및 이의 컴퓨터 기반 방법
CN110569672A (zh) 一种基于移动设备的高效可信电子签名系统及方法
WO2011005869A2 (en) Method and system for generating and using biometrically secured embedded tokens in documents
US20200382284A1 (en) Tracking, storage and authentication of documented intellectual property
CN111311259A (zh) 票据处理方法、装置、终端及计算机可读存储介质
CN116132069B (zh) 一种实现多ca数字证书和多电子签章互联互通的方法
CN111681141A (zh) 文件认证方法、文件认证装置及终端设备
KR101837831B1 (ko) 보안성이 강화된 전자서명 표시 및 검증방법
JP2003006361A (ja) 電子印鑑システム及び電子印鑑プログラムを記録した記録媒体
CN114900310A (zh) 一种将终端设备的id与区块链链账户对应的方法
US11418484B2 (en) Document management system
US11971929B2 (en) Secure signing method, device and system
JP2008022189A (ja) 仮想記憶媒体を用いた電子申請方法
Geethanjali et al. Smart Contract for Digital Garment Design using Blockchain and Digital Right Management

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant