CN108764848B - 一种电子合同的签署方法及系统 - Google Patents
一种电子合同的签署方法及系统 Download PDFInfo
- Publication number
- CN108764848B CN108764848B CN201810547761.7A CN201810547761A CN108764848B CN 108764848 B CN108764848 B CN 108764848B CN 201810547761 A CN201810547761 A CN 201810547761A CN 108764848 B CN108764848 B CN 108764848B
- Authority
- CN
- China
- Prior art keywords
- module
- signature
- signed
- server
- client
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 37
- 238000012795 verification Methods 0.000 claims description 19
- 230000006870 function Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 3
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/103—Workflow collaboration or project management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/18—Legal services
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Strategic Management (AREA)
- Human Resources & Organizations (AREA)
- Tourism & Hospitality (AREA)
- Economics (AREA)
- General Business, Economics & Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Marketing (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Primary Health Care (AREA)
- Technology Law (AREA)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开一种电子合同的签署方法及系统,涉及数字签名领域。方法包括:客户端接收开始签署合同的触发信号向服务器发送合同标识;服务器根据合同标识获取待签署PDF合同文件;服务器生成第一签名结果,根据第一签名结果和待签署PDF合同文件生成临时签署PDF合同文件;服务器生成待签名数据并发送至客户端,客户端向与其相连的智能密钥设备发送待签名数据;接收设备传来的第二签名结果;服务器获取临时签署PDF合同文件,用第二签名结果替换临时签署PDF合同文件中的第一签名结果,组第二签名数据包,并将获取到的签署信息和临时签署PDF合同文件与第二签名数据包合成到一起,生成已签署PDF合同文件,签署完成。在签署过程中使用智能密钥设备,提高安全性。
Description
技术领域
本发明涉及数字签名领域,尤其涉及一种电子合同的签署方法及系统。
背景技术
随着互联网的普及以及在线交易技术的发展,通过互联网进行在线交易已经成为一种重要的交易方法。交易中为了保证交易各方的利益,电子合同得以出现。现有的电子合同一般用软证书(包括长期数字证书与短期数字证书)进行签署,由于软证书是以文件证书的形式展现,并且没有固定存放在某个硬件介质中,容易出现被他人拷走盗用进行签署电子合同的情况,安全级别较低。
发明内容
为解决现有技术中存在的问题,本发明提出了一种电子合同的签署方法及系统。
本发明提供一种电子合同的签署方法,包括:
步骤S1、客户端接收开始签署合同的触发信号,并向服务器发送合同标识;服务器根据合同标识获取待签署PDF合同文件;
步骤S2、服务器生成第一签名结果,根据第一签名结果和待签署PDF合同文件生成临时签署PDF合同文件并和合同标识对应保存;
步骤S3、服务器生成待签名数据并向客户端发送待签名数据及合同标识;客户端向与其相连的智能密钥设备发送待签名数据;接收智能密钥设备传来的第二签名结果,并将第二签名结果和合同标识发送至服务器;
步骤S4、服务器根据合同标识获取临时签署PDF合同文件,解析临时签署PDF合同文件,用第二签名结果替换临时签署PDF合同文件中的第一签名结果;
步骤S5、服务器根据获取到的设备证书、预设签名算法及第二签名结果组成第二签名数据包,并将获取到的签署信息和临时签署PDF合同文件与第二签名数据包合成到一起,生成已签署PDF合同文件,签署完成。
本发明提供一种电子合同的签署系统,包括:客户端、服务器和智能密钥设备;
客户端,具体包括:
第一接收模块,用于接收开始签署合同的触发信号;
第一发送模块,用于第一接收模块接收到开始签署合同的触发信号后,向服务器发送合同标识;
第一接收模块,还用于接收服务器发来的待签名数据和合同标识;
第一发送模块,还用于向与其相连的智能密钥设备发送第一接收模块接收到的待签名数据;
第一接收模块,还用于接收智能密钥设备传来的第二签名结果;
第一发送模块,还用于向服务器发送第二签名结果和合同标识;
服务器,具体包括:
第二接收模块,用于接收客户端发来的合同标识;
第一获取模块,用于根据第二接收模块接收到的合同标识获取待签署PDF合同文件;
第一生成模块,用于生成第一签名结果;
第二生成模块,用于根据第一生成模块生成的第一签名结果和待签署PDF合同文件生成临时签署PDF合同文件并和合同标识对应保存;
第三生成模块,用于生成待签名数据;
第二发送模块,用于向客户端发送第三生成模块生成的待签名数据及第二接收模块接收到的合同标识;
第二接收模块,还用于接收客户端发来的第二签名结果和合同标识;
第一获取模块,还用于根据第二接收模块接收的合同标识获取临时签署PDF合同文件;
解析模块,用于解析第一获取模块获取到的临时签署PDF合同文件;
替换模块,用于将第二接收模块接收到的第二签名结果替换第一生成模块生成的临时签署PDF合同文件中的第一签名结果;
第一组包模块,用于根据获取到的设备证书、预设签名算法及第二接收模块接收到的第二签名结果组成第二签名数据包;
第四生成模块,用于将获取到的签署信息和第一获取模块获取到的临时签署PDF合同文件与第一组包模块组成的第二签名数据包合成到一起,生成已签署PDF合同文件。
本发明的有益效果:采用了本发明提供的方法,使智能密钥设备参与到电子合同的签署,且在签署过程中使用智能密钥设备的证书,大大提高了电子合同签署的安全性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例二提供的一种电子合同的签署方法中绑定过程的流程图;
图2-图3为本发明实施例二提供的一种电子合同的签署方法中签署过程的流程图;
图4为本发明实施例二提供的待签署PDF合同文件示意图;
图5为本发明实施例二提供的已签署PDF合同文件示意图;
图6为本发明实施例三提供的一种电子合同的签署系统的方框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
本实施例一提供一种电子合同的签署方法,,包括:
步骤S1、客户端接收开始签署合同的触发信号,并向服务器发送合同标识;服务器根据合同标识获取待签署PDF合同文件;
步骤S2、服务器生成第一签名结果,根据第一签名结果和待签署PDF合同文件生成临时签署PDF合同文件并和合同标识对应保存;
步骤S3、服务器生成待签名数据并向客户端发送待签名数据及合同标识;客户端向与其相连的智能密钥设备发送待签名数据;接收智能密钥设备传来的第二签名结果,并将第二签名结果和合同标识发送至服务器;
步骤S4、服务器根据合同标识获取临时签署PDF合同文件,解析临时签署PDF合同文件,用第二签名结果替换临时签署PDF合同文件中的第一签名结果;
步骤S5、服务器根据获取到的设备证书、预设签名算法及第二签名结果组成第二签名数据包,并将获取到的签署信息和临时签署PDF合同文件与第二签名数据包合成到一起,生成已签署PDF合同文件,签署完成。
优选地,步骤S5之前还包括:服务器根据合同标识获取签署信息。
优选地,步骤S1中还包括:客户端向服务器发送用户信息;
步骤S5之前还包括:服务器根据用户信息获取设备证书。
优选地,步骤S1还包括:服务器根据用户信息验证用户身份是否合法,是则根据合同标识获取待签署PDF合同文件;否则向客户端返回错误信息。
具体地,根据第一签名结果和待签署PDF合同文件生成临时签署PDF合同文件并和合同标识对应保存,具体为:服务器根据获取到的设备证书、预设签名算法及第一签名结果组成第一签名数据包,并将获取到的签署信息和待签署PDF合同文件与第一签名数据包合成到一起,生成临时签署PDF合同文件并与合同标识对应保存。
具体地,解析临时签署PDF合同文件,具体为:服务器解析临时签署PDF合同文件得到签署信息、待签署PDF合同文件与第一签名数据包。
相应地,用第二签名结果替换临时签署PDF中的第一签名结果,具体为:服务器根据预设位置标识获取第一签名数据包,根据预设数据包格式解析第一签名数据包,获取第一签名结果,将第一签名结果替换为第二签名结果。
具体地,服务器根据获取到的设备证书、预设签名算法及第二签名结果组成第二签名数据包,具体为:服务器根据预设数据包格式将设备证书、预设签名算法及第二签名结果组成第二签名数据包。
优选地,步骤S3中还包括:客户端获取用户输入的个人识别号码并进行验证,验证成功,则向与其相连的智能密钥设备发送待签名数据;验证失败,则报错结束。
具体地,服务器生成待签名数据具体为:服务器对待签署PDF合同文件及获取到的签署信息进行摘要运算生成待签名数据。
优选地,步骤S1中还包括:客户端向服务器发送用户信息;
步骤S3之前还包括:服务器根据用户信息获取证书序列号;
步骤S3中还包括:服务器将证书序列号发送至客户端;客户端将证书序列号发送至智能密钥设备;智能密钥设备根据证书序列号获取对应的设备证书。
优选地,步骤S3中还包括:智能密钥设备调用预设签名函数运用预设签名算法及设备证书对待签名数据进行签名,生成第二签名结果,并将第二签名结果发送至客户端。
优选地,服务器生成第一签名结果,具体为:
服务器调用预设签名函数运用预设签名算法及获取到的设备证书对服务器生成的待签名数据进行签名,生成第一签名结果。
优选地,服务器生成第一签名结果,具体为:服务器生成随机数并将随机数作为第一签名结果;随机数长度与获取到的设备证书中的公钥算法相匹配。
优选地,步骤S1之前还包括:
步骤T1、客户端接收用户输入的用户信息,并将用户信息发送给服务器;
步骤T2、客户端与智能密钥设备建立连接,并从与其相连的智能密钥设备中获取证书信息,并将证书信息发送给服务器;
步骤T3、服务器将证书信息与用户信息绑定并保存。
优选地,步骤T2之前、步骤T1之后还包括:服务器验证用户信息是否合法,是则执行步骤T2;否则向客户端返回错误信息,结束。
实施例二
本实施例提供一种电子合同的签署方法,基于客户端和服务器组成的系统来实现,参见图1-图3,包括以下步骤:绑定过程和签署过程;
绑定过程如图1所示,具体包括:
步骤101、客户端接收用户输入的用户信息,并将用户信息发送给服务器;
具体地,用户信息具体包括用户账户和密码。
例如,用户账户:test@ftsafe.com;密码:123456;
步骤102、服务器验证用户信息是否合法,是则执行步骤103;否则向客户端返回验证失败响应,结束;
步骤103、客户端从与其相连的智能密钥设备中获取证书信息,并将证书信息发送给服务器;
在本实施例中,证书信息中包括设备证书和证书序列号;
例如,设备证书为:
MIICXTCCAcegAwIBAgIONTNENTVEQ0I0OEYxODAwDAYIKoEcz1UBg3UFADB4MQswCQYDVQQGEwJDTjETMBEGA1UEChMKYm9jY29tLmNvbTERMA8GA1UECxMIQkFOS0NPTU0xFDASBgNVBAsTC0VudGVycHJpc2VzMSswKQYDVQQDEyIwNDBAODIwMTIwNzE4MDJAWzgwMDAwNjA2MjNdQDAwMDE1MB4XDTE3MTEwODAyMjAxM1oXDTM1MDYwMTA0MDAwMFowgYoxGTAXBgNVBAMMEHRlc3QxMDAwMDAwMDAwOTQxCzAJBgNVBAYMAkNOMRUwEwYDVQQKDAxFTlRFUlNBRkUgQ0ExHDAaBgNVBAsME0N1c3RvbWVycyBTaWduIENlcnQxFjAUBgNVBAsMDVNNMiBDdXN0b21lcnMxEzARBgNVBAsMCmZ0c2FmZS5jb20wWTATBgcqhkjOPQIBBggqgRzPVQGCLQNCAASENv3yNYE1UcVWLylQfL5J8L5Wv+843yEoB+LVC2P4roFJV0WdVG0xtViB79yoO9SFpy+EjQVYsDQIHzdMaN4HoyAwHjALBgNVHQ8EBAMCBsAwDwYDVR0TAQH/BAUwAwEB/zAMBggqgRzPVQGDdQUAA4GBAAUSRv5qRmrfhk5Nf4xpDSDBH3pt0luxqCmMSudvz2p0Hu/vH9nBM3aInacpSwcii3KQPWQferQmJ3rhfFiT0RXPLzUsXXB0D1xBpU8DOdu9b90TUKU9sumRkD4ZZu9bmnrIuO7bxJ0BKjw2Hhe5NIRzWrVu4G1XL5+rcLE3pl46;证书序列号:3533443535444342343846313830
需要说明的是,步骤103之前还包括:客户端与智能密钥设备建立连接;
步骤104、服务器将证书信息与用户信息绑定并保存;
具体地,在本实施例中,服务器将证书信息保存至证书表中。
签署过程如图2-3所示,具体包括:
步骤201、客户端接收用户开始签署合同的触发信号;
步骤202、客户端向服务器发送用户信息和合同标识;
具体地,用户信息具体包括用户帐户和密码。
例如,合同标识为:8AC16BEC273057A775AB6A4673135D36
步骤203、服务器验证用户身份是否合法,是则执行步骤204;否则向客户端返回错误信息;
步骤204、服务器根据用户信息获取证书信息;
具体地,服务器根据用户信息获取服务器中保存的证书信息,其中,证书信息包括智能密钥设备的设备证书及证书序列号。
步骤205、服务器根据合同标识获取当前保存的与合同标识对应的待签署PDF合同文件;
在本实施例中,本步骤还包括:服务器根据合同标识判断所述合同标识对应的PDF合同文件是否为已完成签署或已作废,是则向客户端返回PDF合同文件已完成签署或已作废的错误提示信息,否则执行步骤206;待签署PDF合同文件如图4所示。
其中,PDF(Portable Document Format的简称,意为“便携式文档格式”),是由Adobe Systems用于与应用程序、操作系统、硬件无关的方式进行文件交换所发展出的文件格式。PDF文件以PostScript语言图象模型为基础,无论在哪种打印机上都可保证精确的颜色和准确的打印效果,即PDF会忠实地再现原稿的每一个字符、颜色以及图象。
步骤206、服务器根据合同标识获取对应保存的签署信息;
具体的,所述需要设置的签署信息包括签章的图片信息和签章的位置矩形,进一步还可以包括签署日期。
例如,图片信息为:data:image/png;base64,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;位置矩形:位置24.692936 785.1952 90.76323 825.2221
可选地,步骤206还可以为:
步骤A1、服务器将获取到的待签署PDF合同文件和需要设置的签署信息发送至客户端;
步骤A2、客户端接收并显示所述合同内容图片和所述需要设置的签署信息;
步骤A3、客户端向服务器发送设置完成的签署信息;
步骤A4、服务器获取签署信息。
步骤207、服务器对待签署PDF合同文件及签署信息进行摘要运算生成待签名数据;
步骤208、服务器调用预设签名函数运用预设签名算法及证书序列号对待签名数据进行签名,生成第一签名结果;
例如,第一签名结果为:
30460221004BFF8B5A9A1A58907F9642C433977450CF54CD1732C9D7E11AE25B2E564410380221004BFF8B5A9A1A58907F9642C433977450CF54CD1732C9D7E11AE25B2E56441038
在本实施例中,第一签名结果还可以为服务器生成的一组随机数。
步骤209、服务器根据证书信息中的设备证书、预设签名算法及第一签名结果组成第一签名数据包;
在本实施例中,服务器根据预设数据包格式将证书信息中的设备证书、预设签名算法及第一签名结果组成第一签名数据包。
具体地,预设数据包格式为PKCS7格式。
例如,第一签名数据包为:
<3082040206092a864886f70d010702a08203f3308203ef020101310f300d06096086480165030402010500300b06092a864886f70d010701a08202613082025d308201c7a003020102020e3533443535444342343846313830300c06082a811ccf5501837505003078310b300906035504061302434e31133011060355040a130a626f63636f6d2e636f6d3111300f060355040b130842414e4b434f4d4d31143012060355040b130b456e746572707269736573312b302906035504031322303430403832303132303731383032405b383030303036303632335d403030303135301e170d3137313130383032323031335a170d3335303630313034303030305a30818a3119301706035504030c1074657374313030303030303030303934310b300906035504060c02434e31153013060355040a0c0c454e54455253414645204341311c301a060355040b0c13437573746f6d657273205369676e204365727431163014060355040b0c0d534d3220437573746f6d65727331133011060355040b0c0a6674736166652e636f6d3059301306072a8648ce3d020106082a811ccf5501822d034200048436fdf235813551c5562f29507cbe49f0be56bfef38df212807e2d50b63f8ae814957459d546d31b55881efdca83bd485a72f848d0558b034081f374c68de07a320301e300b0603551d0f0404030206c0300f0603551d130101ff040530030101ff300c06082a811ccf55018375050003818100051246fe6a466adf864e4d7f8c690d20c11f7a6dd25bb1a8298c4ae76fcf6a741eefef1fd9c13376889da7294b07228b72903d641f7ab426277ae17c5893d115cf2f352c5d70740f5c41a54f0339dbbd6fdd1350a53db2e991903e1966ef5b9a7ac8b8eedbc49d012a3c361e17b93484735ab56ee06d572f9fab70b137a65e3a318201653082016102010130818a3078310b300906035504061302434e31133011060355040a130a626f63636f6d2e636f6d3111300f060355040b130842414e4b434f4d4d31143012060355040b130b456e746572707269736573312b302906035504031322303430403832303132303731383032405b383030303036303632335d403030303135020e3533443535444342343846313830300d06096086480165030402010500a069301806092a864886f70d010903310b06092a864886f70d010701301c06092a864886f70d010905310f170d3138303532383031333032305a302f06092a864886f70d010904312204204bfe7ea72d696a5ff2f89f3ead659e6de15a729c43c5c41a78c8cde8a1cc5bb2300b06072a8648ce3d020105000448304602210087f6456df8f0cdea921548a6609f357f2f38fbc62c8a79ccf5b9b20e415a7ad8022100b15cce2379efdcc6af0dc43e387da188d9ad4af25e95f2be1f254191dfb37ff30000……>
优选地,第一签名数据包中还可以包括签名人身份信息及签署原因和签署信息中签章的图片属性(格式、大小及位置等)等信息。
步骤210、服务器将签署信息、第一签名数据包与待签署PDF合同文件合成到一起,生成临时签署PDF合同文件并与合同标识对应保存;
步骤211、服务器将待签名数据、证书信息中的证书序列号和合同标识发送至客户端;
步骤212、客户端获取用户输入的个人识别码并进行验证,验证成功,则执行步骤213;验证失败则报错结束;
例如,个人识别码:12345678a;
步骤213、客户端向与其相连的智能密钥设备发送待签名数据和证书信息中的证书序列号;
例如,证书序列号:3533443535444342343846313830;
步骤214、客户端接收智能密钥设备传来的第二签名结果;
在本实施例中,智能密钥设备调用签名函数运用预设签名算法及证书序列号对待签名数据进行签名,生成第二签名结果;
例如,生成的第二签名结果为:
304602210087F6456DF8F0CDEA921548A6609F357F2F38FBC62C8A79CCF5B9B20E415A7AD8022100B15CCE2379EFDCC6AF0DC43E387DA188D9AD4AF25E95F2BE1F254191DFB37FF3
步骤215、客户端将第二签名结果和合同标识发送至服务器;
步骤216、服务器根据合同标识获取临时签署PDF合同文件;
步骤217、服务器解析临时签署PDF合同文件,获取第一签名数据包;将签名数据包中的第一签名结果替换为第二签名结果;
具体地,服务器解析临时签署PDF合同文件得到签署信息、待签署PDF合同文件与签名数据包,根据预设位置标识获取第一签名数据包;根据预设数据包格式解析签名数据包,获取第一签名结果;将第一签名结果替换为第二签名结果。
步骤218、服务器根据证书信息中的设备证书、预设签名算法及第二签名结果组成第二签名数据包;
具体地,服务器根据预设数据包格式将证书信息中的设备证书、预设签名算法及第二签名结果组成第二签名数据包;
例如,生成的第二签名数据包为:<3082040206092a864886f70d010702a08203f3308203ef020101310f300d06096086480165030402010500300b06092a864886f70d010701a08202613082025d308201c7a003020102020e3533443535444342343846313830300c06082a811ccf5501837505003078310b300906035504061302434e31133011060355040a130a626f63636f6d2e636f6d3111300f060355040b130842414e4b434f4d4d31143012060355040b130b456e746572707269736573312b302906035504031322303430403832303132303731383032405b383030303036303632335d403030303135301e170d3137313130383032323031335a170d3335303630313034303030305a30818a3119301706035504030c1074657374313030303030303030303934310b300906035504060c02434e31153013060355040a0c0c454e54455253414645204341311c301a060355040b0c13437573746f6d657273205369676e204365727431163014060355040b0c0d534d3220437573746f6d65727331133011060355040b0c0a6674736166652e636f6d3059301306072a8648ce3d020106082a811ccf5501822d034200048436fdf235813551c5562f29507cbe49f0be56bfef38df212807e2d50b63f8ae814957459d546d31b55881efdca83bd485a72f848d0558b034081f374c68de07a320301e300b0603551d0f0404030206c0300f0603551d130101ff040530030101ff300c06082a811ccf55018375050003818100051246fe6a466adf864e4d7f8c690d20c11f7a6dd25bb1a8298c4ae76fcf6a741eefef1fd9c13376889da7294b07228b72903d641f7ab426277ae17c5893d115cf2f352c5d70740f5c41a54f0339dbbd6fdd1350a53db2e991903e1966ef5b9a7ac8b8eedbc49d012a3c361e17b93484735ab56ee06d572f9fab70b137a65e3a318201653082016102010130818a3078310b300906035504061302434e31133011060355040a130a626f63636f6d2e636f6d3111300f060355040b130842414e4b434f4d4d31143012060355040b130b456e746572707269736573312b302906035504031322303430403832303132303731383032405b383030303036303632335d403030303135020e3533443535444342343846313830300d06096086480165030402010500a069301806092a864886f70d010903310b06092a864886f70d010701301c06092a864886f70d010905310f170d3138303532383031333032305a302f06092a864886f70d010904312204204bfe7ea72d696a5ff2f89f3ead659e6de15a729c43c5c41a78c8cde8a1cc5bb2300b06072a8648ce3d020105000448304602210087f6456df8f0cdea921548a6609f357f2f38fbc62c8a79ccf5b9b20e415a7ad8022100b15cce2379efdcc6af0dc43e387da188d9ad4af25e95f2be1f254191dfb37ff0000……>
步骤219、服务器将签署信息、第二签名数据包与临时签署PDF合同文件合成到一起,生成已签署PDF合同文件并保存;
在本实施例中,已签署PDF合同文件如图5所示。
步骤220、服务器向客户端发送签署成功的信息,结束。
实施例三
本实施例提供一种电子合同的签署系统,如图6所示,包括:客户端、服务器和智能密钥设备;
客户端,具体包括:
第一接收模块301,用于接收开始签署合同的触发信号;
第一发送模块302,用于第一接收模块301接收到开始签署合同的触发信号后,向服务器发送合同标识;
第一接收模块301,还用于接收服务器发来的待签名数据和合同标识;
第一发送模块302,还用于向与其相连的智能密钥设备发送第一接收模块301接收到的待签名数据;
第一接收模块301,还用于接收智能密钥设备传来的第二签名结果;
第一发送模块302,还用于向服务器发送第二签名结果和合同标识;
服务器,具体包括:
第二接收模块401,用于接收客户端发来的合同标识;
第一获取模块402,用于根据第二接收模块401接收到的合同标识获取待签署PDF合同文件;
第一生成模块403,用于生成第一签名结果;
第二生成模块404,用于根据第一生成模块403生成的第一签名结果和待签署PDF合同文件生成临时签署PDF合同文件并和合同标识对应保存;
第三生成模块405,用于生成待签名数据;
第二发送模块406,用于向客户端发送第三生成模块405生成的待签名数据及第二接收模块401接收到的合同标识;
第二接收模块401,还用于接收客户端发来的第二签名结果和合同标识;
第一获取模块402,还用于根据第二接收模块401接收的合同标识获取临时签署PDF合同文件;
解析模块407,用于解析第一获取模块402获取到的临时签署PDF合同文件;
替换模块408,用于将第二接收模块401接收到的第二签名结果替换第一生成模块403生成的临时签署PDF合同文件中的第一签名结果;
第一组包模块409,用于根据获取到的设备证书、预设签名算法及第二接收模块401接收到的第二签名结果组成第二签名数据包;
第四生成模块410,用于将获取到的签署信息和第一获取模块402获取到的临时签署PDF合同文件与第一组包模块409组成的第二签名数据包合成到一起,生成已签署PDF合同文件。
优选地,第一获取模块402,还用于根据第二接收模块401接收到的合同标识获取签署信息。
优选地,第一发送模块302,还用于向服务器发送用户信息;
第二接收模块401,还用于接收客户端发来的用户信息;
第一获取模块402,还用于根据第二接收模块401接收到的用户信息获取设备证书。
服务器还包括:第一判断模块;
第一判断模块,用于根据第二接收模块401接收到的用户信息验证用户身份是否合法;
第一获取模块402,具体用于当第一判断模块判断用户身份合法时,根据合同标识获取待签署PDF合同文件;
第二发送模块406,还用于当第一判断模块判断用户身份不合法时,向客户端返回错误信息。
优选地,第二生成模块404,具体用于根据获取到的设备证书、预设签名算法及第一签名结果组成第一签名数据包,并将获取到的签署信息和待签署PDF合同文件与第一签名数据包合成到一起,生成临时签署PDF合同文件并与合同标识对应保存。
优选地,解析模块407,具体用于解析临时签署PDF合同文件得到签署信息、待签署PDF合同文件与第一签名数据包。
优选地,替换模块408,具体用于根据预设位置标识获取第一签名数据包,根据预设数据包格式解析第一签名数据包,获取第一签名结果,将第一签名结果替换为第二签名结果。
优选地,第一组包模块409,具体用于根据预设数据包格式将设备证书、预设签名算法及第二签名结果组成第二签名数据包。
优选地,客户端中还包括第一验证模块;
第一接收模块301,还用于获取用户输入的个人识别号码;
第一验证模块,用于对第一接收模块301接收的用户输入的个人识别号码并进行验证,验证失败,报错结束;
第一发送模块302,具体用于当验证模块验证成功时,向与其相连的智能密钥设备发送第一接收模块301接收到的待签名数据。
优选地,第三生成模块405,具体用于对第一获取模块402获取的待签署PDF合同文件及获取到的签署信息进行摘要运算生成待签名数据。
优选地,智能密钥设备包括:第三接收模块和第二获取模块;
第一发送模块302,还用于向服务器发送用户信息;
第二接收模块401,还用于接收客户端发来的用户信息;
第一获取模块402,还用于根据第二接收模块401接收到的用户信息获取证书序列号;
第二发送模块406,还用于向客户端发送证书序列号;
第一发送模块302,还用于向与其相连的智能密钥设备发送证书序列号;
第三接收模块,用于接收客户端发来的证书序列号;
第二获取模块,根据第三接收模块接收的证书序列号获取对应的设备证书。
优选地,智能密钥设备还包括:第五生成模块和第三发送模块;
第五生成模块,用于调用预设签名函数运用预设签名算法及设备证书对待签名数据进行签名,生成第二签名结果;
第三发送模块,用于将第五生成模块生成的第二签名结果发送至客户端。
优选地,第一生成模块403,具体用于调用预设签名函数运用预设签名算法及获取到的设备证书对服务器生成的待签名数据进行签名,生成第一签名结果。
优选地,第一生成模块403,具体用于生成随机数并将随机数作为第一签名结果;随机数长度与获取到的设备证书中的公钥算法相匹配。
优选地,客户端还包括:第三获取模块;
第一接收模块301,还用于接收用户输入的用户信息;
第一发送模块302,还用于将第一接收模块301接收到的用户信息发送给服务器;
第三获取模块,用于与智能密钥设备建立连接,并从与其相连的智能密钥设备中获取证书信息;
第一发送模块302,还用于将第三获取模块获取到的证书信息发送给服务器;
服务器还包括:绑定模块;
第二接收模块401,还用于接收客户端发来的证书信息;
绑定模块,用于将第二接收模块401接收的证书信息与用户信息绑定并保存。
优选地,服务器中还包括:第二验证模块;
第二验证模块,用于验证用户信息是否合法;
第三获取模块,具体用于当第二验证模块验证用户信息合法时,与智能密钥设备建立连接,并从与其相连的智能密钥设备中获取证书信息;
第二发送模块406,还用于当第二验证模块验证用户信息合法时,向客户端返回错误信息。
以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (24)
1.一种电子合同的签署方法,其特征在于,包括:
步骤S1、客户端接收开始签署合同的触发信号,并向服务器发送合同标识;所述服务器根据所述合同标识获取待签署PDF合同文件;
步骤S2、所述服务器生成第一签名结果,根据所述第一签名结果和所述待签署PDF合同文件生成临时签署PDF合同文件并和所述合同标识对应保存;
步骤S3、所述服务器生成待签名数据并向所述客户端发送所述待签名数据及所述合同标识;所述客户端向与其相连的智能密钥设备发送所述待签名数据;接收所述智能密钥设备传来的第二签名结果,并将所述第二签名结果和所述合同标识发送至服务器;
步骤S4、所述服务器根据所述合同标识获取临时签署PDF合同文件,解析所述临时签署PDF合同文件,用所述第二签名结果替换所述临时签署PDF合同文件中的第一签名结果;
步骤S5、所述服务器根据获取到的设备证书、预设签名算法及所述第二签名结果组成第二签名数据包,并将获取到的签署信息和所述临时签署PDF合同文件与所述第二签名数据包合成到一起,生成已签署PDF合同文件,签署完成;
所述服务器生成第一签名结果,具体为:所述服务器调用预设签名函数运用预设签名算法及获取到的设备证书对服务器生成的待签名数据进行签名,生成第一签名结果;或,
所述服务器生成第一签名结果,具体为:所述服务器生成随机数并将所述随机数作为第一签名结果;所述随机数长度与获取到的设备证书中的公钥算法相匹配;
所述根据所述第一签名结果和所述待签署PDF合同文件生成临时签署PDF合同文件并和所述合同标识对应保存,具体为:所述服务器根据获取到的设备证书、预设签名算法及所述第一签名结果组成第一签名数据包,并将获取到的签署信息和所述待签署PDF合同文件与所述第一签名数据包合成到一起,生成临时签署PDF合同文件并与所述合同标识对应保存;
所述签名数据包具体为包括设备证书、预设签名算法及签名结果的PKCS7格式的数据包。
2.根据权利要求1所述的方法,其特征在于,步骤S1中还包括:所述客户端向所述服务器发送用户信息;
所述步骤S5之前还包括:所述服务器根据所述用户信息获取设备证书。
3.根据权利要求2所述的方法,其特征在于,所述步骤S1还包括:所述服务器根据所述用户信息验证用户身份是否合法,是则根据所述合同标识获取待签署PDF合同文件;否则向客户端返回错误信息。
4.根据权利要求1所述的方法,其特征在于,所述解析所述临时签署PDF合同文件,具体为:所述服务器解析所述临时签署PDF合同文件得到签署信息、待签署PDF合同文件与第一签名数据包。
5.根据权利要求4所述的方法,其特征在于,所述用所述第二签名结果替换所述临时签署PDF合同文件中的第一签名结果,具体为:所述服务器根据预设位置标识获取第一签名数据包,根据预设数据包格式解析所述第一签名数据包,获取第一签名结果,将所述第一签名结果替换为第二签名结果。
6.根据权利要求1所述的方法,其特征在于,所述服务器根据获取到的设备证书、预设签名算法及所述第二签名结果组成第二签名数据包,具体为:所述服务器根据预设数据包格式将所述设备证书、所述预设签名算法及所述第二签名结果组成第二签名数据包。
7.根据权利要求1所述的方法,其特征在于,所述步骤S3中还包括:所述客户端获取用户输入的个人识别号码并进行验证,验证成功,则向与其相连的智能密钥设备发送所述待签名数据;验证失败,则报错结束。
8.根据权利要求1所述的方法,其特征在于,所述服务器生成待签名数据具体为:所述服务器对所述待签署PDF合同文件及获取到的签署信息进行摘要运算生成待签名数据。
9.根据权利要求1所述的方法,其特征在于,步骤S1中还包括:所述客户端向所述服务器发送用户信息;
所述步骤S3之前还包括:所述服务器根据所述用户信息获取证书序列号;
所述步骤S3中还包括:所述服务器将所述证书序列号发送至客户端;所述客户端将所述证书序列号发送至所述智能密钥设备;所述智能密钥设备根据所述证书序列号获取对应的设备证书。
10.根据权利要求9所述的方法,其特征在于,所述步骤S3中还包括:所述智能密钥设备调用预设签名函数运用预设签名算法及所述设备证书对所述待签名数据进行签名,生成第二签名结果,并将所述第二签名结果发送至所述客户端。
11.根据权利要求1所述的方法,其特征在于,所述步骤S1之前还包括:
步骤T1、客户端接收用户输入的用户信息,并将用户信息发送给服务器;
步骤T2、客户端与智能密钥设备建立连接,并从与其相连的智能密钥设备中获取证书信息,并将所述证书信息发送给服务器;
步骤T3、服务器将所述证书信息与所述用户信息绑定并保存。
12.根据权利要求11所述的方法,其特征在于,所述步骤T2之前、步骤T1之后还包括:所述服务器验证用户信息是否合法,是则执行步骤T2;否则向客户端返回错误信息,结束。
13.一种电子合同的签署系统,其特征在于,包括:客户端、服务器和智能密钥设备;
所述客户端,具体包括:
第一接收模块,用于接收开始签署合同的触发信号;
第一发送模块,用于所述第一接收模块接收到开始签署合同的触发信号后,向服务器发送合同标识;
所述第一接收模块,还用于接收所述服务器发来的待签名数据和所述合同标识;
所述第一发送模块,还用于向与其相连的智能密钥设备发送所述第一接收模块接收到的待签名数据;
所述第一接收模块,还用于接收所述智能密钥设备传来的第二签名结果;
所述第一发送模块,还用于向所述服务器发送所述第二签名结果和所述合同标识;
所述服务器,具体包括:
第二接收模块,用于接收所述客户端发来的合同标识;
第一获取模块,用于根据所述第二接收模块接收到的合同标识获取待签署PDF合同文件;
第一生成模块,用于生成第一签名结果;
第二生成模块,用于根据所述第一生成模块生成的第一签名结果和所述待签署PDF合同文件生成临时签署PDF合同文件并和合同标识对应保存;
第三生成模块,用于生成待签名数据;
第二发送模块,用于向所述客户端发送所述第三生成模块生成的待签名数据及所述第二接收模块接收到的所述合同标识;
所述第二接收模块,还用于接收所述客户端发来的所述第二签名结果和所述合同标识;
所述第一获取模块,还用于根据所述第二接收模块接收的合同标识获取临时签署PDF合同文件;
解析模块,用于解析所述第一获取模块获取到的临时签署PDF合同文件;
替换模块,用于将所述第二接收模块接收到的所述第二签名结果替换所述第一生成模块生成的临时签署PDF合同文件中的第一签名结果;
第一组包模块,用于根据获取到的设备证书、预设签名算法及所述第二接收模块接收到的所述第二签名结果组成第二签名数据包;
第四生成模块,用于将获取到的签署信息和所述第一获取模块获取到的所述临时签署PDF合同文件与所述第一组包模块组成的第二签名数据包合成到一起,生成已签署PDF合同文件;
所述第一生成模块,具体用于调用预设签名函数运用预设签名算法及获取到的设备证书对服务器生成的待签名数据进行签名,生成第一签名结果;或,
所述第一生成模块,具体用于生成随机数并将所述随机数作为第一签名结果;所述随机数长度与获取到的设备证书中的公钥算法相匹配;
所述第二生成模块,具体用于根据获取到的设备证书、预设签名算法及所述第一签名结果组成第一签名数据包,并将获取到的签署信息和所述待签署PDF合同文件与所述第一签名数据包合成到一起,生成临时签署PDF合同文件并与所述合同标识对应保存;
所述签名数据包具体为包括设备证书、预设签名算法及签名结果的PKCS7格式的数据包。
14.根据权利要求13所述的系统,其特征在于,所述第一发送模块,还用于向所述服务器发送用户信息;
所述第二接收模块,还用于接收所述客户端发来的用户信息;
所述第一获取模块,还用于根据所述第二接收模块接收到的所述用户信息获取设备证书。
15.根据权利要求 14所述的系统,其特征在于,所述服务器还包括:第一判断模块;
所述第一判断模块,用于根据所述第二接收模块接收到的所述用户信息验证用户身份是否合法;
所述第一获取模块,具体用于当所述第一判断模块判断用户身份合法时,根据所述合同标识获取所述待签署PDF合同文件;
所述第二发送模块,还用于当所述第一判断模块判断用户身份不合法时,向所述客户端返回错误信息。
16.根据权利要求13所述的系统,其特征在于,所述解析模块,具体用于解析所述临时签署PDF合同文件得到签署信息、待签署PDF合同文件与第一签名数据包。
17.根据权利要求16所述的系统,其特征在于,所述替换模块,具体用于根据预设位置标识获取第一签名数据包,根据预设数据包格式解析所述第一签名数据包,获取第一签名结果,将所述第一签名结果替换为第二签名结果。
18.根据权利要求13所述的系统,其特征在于,所述第一组包模块,具体用于根据预设数据包格式将所述设备证书、所述预设签名算法及所述第二签名结果组成第二签名数据包。
19.根据权利要求13所述的系统,其特征在于,所述客户端中还包括第一验证模块;
所述第一接收模块,还用于获取用户输入的个人识别号码;
所述第一验证模块,用于对所述第一接收模块接收的用户输入的个人识别号码并进行验证,验证失败,报错结束;
所述第一发送模块,具体用于当所述第一验证模块验证成功时,向与其相连的智能密钥设备发送所述第一接收模块接收到的待签名数据。
20.根据权利要求13所述的系统,其特征在于,所述第三生成模块,具体用于对所述第一获取模块获取的待签署PDF合同文件及获取到的签署信息进行摘要运算生成待签名数据。
21.根据权利要求13所述的系统,其特征在于,所述智能密钥设备包括:第三接收模块和第二获取模块;
所述第一发送模块,还用于向所述服务器发送用户信息;
所述第二接收模块,还用于接收所述客户端发来的用户信息;
所述第一获取模块,还用于根据所述第二接收模块接收到的所述用户信息获取证书序列号;
所述第二发送模块,还用于向所述客户端发送所述证书序列号;
所述第一发送模块,还用于向与其相连的智能密钥设备发送所述证书序列号;
所述第三接收模块,用于接收所述客户端发来的证书序列号;
所述第二获取模块,根据所述第三接收模块接收的证书序列号获取对应的设备证书。
22.根据权利要求21所述的系统,其特征在于,所述智能密钥设备还包括:第五生成模块和第三发送模块;
所述第五生成模块,用于调用预设签名函数运用预设签名算法及所述设备证书对所述待签名数据进行签名,生成第二签名结果;
所述第三发送模块,用于将所述第五生成模块生成的所述第二签名结果发送至所述客户端。
23.根据权利要求13所述的系统,其特征在于,所述客户端还包括:第三获取模块;
所述第一接收模块,还用于接收用户输入的用户信息;
所述第一发送模块,还用于将所述第一接收模块接收到的用户信息发送给服务器;
所述第三获取模块,用于与智能密钥设备建立连接,并从与其相连的智能密钥设备中获取证书信息;
所述第一发送模块,还用于将所述第三获取模块获取到的证书信息发送给服务器;
所述服务器还包括:绑定模块;
所述第二接收模块,还用于接收所述客户端发来的证书信息;
所述绑定模块,用于将所述第二接收模块接收的所述证书信息与所述用户信息绑定并保存。
24.根据权利要求 23所述的系统,其特征在于,所述服务器中还包括:第二验证模块;
所述第二验证模块,用于验证用户信息是否合法;
所述第三获取模块,具体用于当所述第二验证模块验证用户信息合法时,与智能密钥设备建立连接,并从与其相连的智能密钥设备中获取证书信息;
所述第二发送模块,还用于当所述第二验证模块验证用户信息合法时,向所述客户端返回错误信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810547761.7A CN108764848B (zh) | 2018-05-31 | 2018-05-31 | 一种电子合同的签署方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810547761.7A CN108764848B (zh) | 2018-05-31 | 2018-05-31 | 一种电子合同的签署方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108764848A CN108764848A (zh) | 2018-11-06 |
CN108764848B true CN108764848B (zh) | 2021-03-16 |
Family
ID=64000917
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810547761.7A Active CN108764848B (zh) | 2018-05-31 | 2018-05-31 | 一种电子合同的签署方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108764848B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109784873B (zh) * | 2019-02-28 | 2021-07-02 | 飞天诚信科技股份有限公司 | 一种电子合同签署平台的工作方法及设备 |
CN110245220B (zh) * | 2019-05-05 | 2022-03-11 | 深圳法大大网络科技有限公司 | 电子文件签署方法、装置及服务器、存储介质 |
CN110263581A (zh) * | 2019-05-08 | 2019-09-20 | 深圳法大大网络科技有限公司 | 合同签署方法、系统、终端设备及存储介质 |
CN110750964A (zh) * | 2019-09-18 | 2020-02-04 | 平安科技(深圳)有限公司 | 一种添加信息方法及相关装置 |
CN110830449B (zh) * | 2019-10-17 | 2020-11-13 | 北京三快在线科技有限公司 | 文件处理方法、装置、电子设备及可读存储介质 |
CN111523135B (zh) * | 2020-07-06 | 2020-10-13 | 飞天诚信科技股份有限公司 | 一种pdf文件电子签章方法及装置 |
CN111832080A (zh) * | 2020-07-21 | 2020-10-27 | 杭州天谷信息科技有限公司 | 一种电子合同作废的方法 |
CN112994900B (zh) * | 2021-04-25 | 2021-09-17 | 北京信安世纪科技股份有限公司 | 文件会签方法、装置、客户端、服务端和存储介质 |
CN114820147B (zh) * | 2022-06-02 | 2022-11-25 | 杭州天谷信息科技有限公司 | 阶段性电子合同的签署方法及签名系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20100085633A (ko) * | 2009-01-21 | 2010-07-29 | (주)듀플렉스 | 시점확인 기능이 추가된 종이문서의 전자화 시스템 및 방법 |
CN103338185A (zh) * | 2013-05-31 | 2013-10-02 | 飞天诚信科技股份有限公司 | 一种文件共享的方法及系统 |
CN104243451A (zh) * | 2014-08-19 | 2014-12-24 | 天地融科技股份有限公司 | 一种信息交互方法、系统和智能密钥设备 |
CN106067849A (zh) * | 2016-05-24 | 2016-11-02 | 飞天诚信科技股份有限公司 | 一种适用于pdf文档的数字签名方法及装置 |
CN106656504A (zh) * | 2016-10-27 | 2017-05-10 | 飞天诚信科技股份有限公司 | 一种签名设备、系统及其工作方法 |
CN108092779A (zh) * | 2018-01-05 | 2018-05-29 | 北京汇通金财信息科技有限公司 | 一种实现电子签约的方法及装置 |
-
2018
- 2018-05-31 CN CN201810547761.7A patent/CN108764848B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20100085633A (ko) * | 2009-01-21 | 2010-07-29 | (주)듀플렉스 | 시점확인 기능이 추가된 종이문서의 전자화 시스템 및 방법 |
CN103338185A (zh) * | 2013-05-31 | 2013-10-02 | 飞天诚信科技股份有限公司 | 一种文件共享的方法及系统 |
CN104243451A (zh) * | 2014-08-19 | 2014-12-24 | 天地融科技股份有限公司 | 一种信息交互方法、系统和智能密钥设备 |
CN106067849A (zh) * | 2016-05-24 | 2016-11-02 | 飞天诚信科技股份有限公司 | 一种适用于pdf文档的数字签名方法及装置 |
CN106656504A (zh) * | 2016-10-27 | 2017-05-10 | 飞天诚信科技股份有限公司 | 一种签名设备、系统及其工作方法 |
CN108092779A (zh) * | 2018-01-05 | 2018-05-29 | 北京汇通金财信息科技有限公司 | 一种实现电子签约的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN108764848A (zh) | 2018-11-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108764848B (zh) | 一种电子合同的签署方法及系统 | |
KR101883156B1 (ko) | 인증 시스템 및 방법과 이를 수행하기 위한 사용자 단말, 인증 서버 및 서비스 서버 | |
CN106067849B (zh) | 一种适用于pdf文档的数字签名方法及装置 | |
CN110098932B (zh) | 一种基于安全电子公证技术的电子文书签署方法 | |
CN110930147B (zh) | 离线支付方法、装置、电子设备及计算机可读存储介质 | |
US20140006247A1 (en) | System, device and method for the interaction of security information | |
CN112165382B (zh) | 软件授权方法、装置、授权服务端及终端设备 | |
CN106779698B (zh) | 一种支付标记的分发及其安全支付方法、系统及装置 | |
CN106529938A (zh) | 虚拟卡发卡方法、装置、终端 | |
CN108880832B (zh) | 区块链实名认证方法和系统 | |
CN111464555B (zh) | 一种基于客户端屏幕录像的文件签署确认方法以及业务服务器、认证服务器和客户端 | |
CN105591745A (zh) | 对使用第三方应用的用户进行身份认证的方法和系统 | |
CN108833431B (zh) | 一种密码重置的方法、装置、设备及存储介质 | |
CN111506632A (zh) | 一种数据处理方法及装置 | |
CN110417724B (zh) | 应用程序登录态联合鉴权的方法、系统、服务器及终端 | |
CN113411184B (zh) | 一体化管理终端装置及一体化管理方法 | |
CN108876375B (zh) | 区块链实名参与方法和系统 | |
CN104753940B (zh) | 一种开具发票的方法、普通发票自助服务终端及服务器 | |
CN110766388B (zh) | 虚拟卡生成方法及系统、电子设备 | |
CN110071907A (zh) | 二维码的生成方法及装置 | |
CN108243005B (zh) | 申请注册验证方法、参与者管理系统、设备及介质 | |
CN106559433B (zh) | 利用数字证书固定电子证据和用户身份的方法及系统 | |
CN109658041B (zh) | 文件的生成装置及其生成方法、设备和可读存储介质 | |
CN112669033A (zh) | 基于fido设备的交易认证方法及fido设备 | |
CN112380509A (zh) | 身份信息生成及验证方法、装置、可读存储介质 |
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 | ||
OL01 | Intention to license declared | ||
OL01 | Intention to license declared |