CN116028120A - 一种应用唤起方法和装置 - Google Patents

一种应用唤起方法和装置 Download PDF

Info

Publication number
CN116028120A
CN116028120A CN202111252623.4A CN202111252623A CN116028120A CN 116028120 A CN116028120 A CN 116028120A CN 202111252623 A CN202111252623 A CN 202111252623A CN 116028120 A CN116028120 A CN 116028120A
Authority
CN
China
Prior art keywords
application
parameters
signature information
signature
background system
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.)
Pending
Application number
CN202111252623.4A
Other languages
English (en)
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.)
Digital Currency Institute of the Peoples Bank of China
Original Assignee
Digital Currency Institute of the Peoples Bank of China
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 Digital Currency Institute of the Peoples Bank of China filed Critical Digital Currency Institute of the Peoples Bank of China
Priority to CN202111252623.4A priority Critical patent/CN116028120A/zh
Publication of CN116028120A publication Critical patent/CN116028120A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本发明公开了一种应用唤起方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:将第一应用的签名要素上传到机构后台系统进行签名,得到第一签名信息;通过唤起应用跳转协议请求唤起第二应用以执行第一业务处理,唤起应用跳转协议的参数包括第一签名信息;响应于第二应用通过回拉应用跳转协议发起的对第一应用的唤起请求,获取回拉应用跳转协议的参数,该参数中包括机构后台系统生成的第二签名信息;通过机构后台系统对第二签名信息进行验证,验证通过后唤起第一应用以执行第二业务处理。该实施方式能够适用于双层运营架构体系下的移动应用互相唤起,保证在应用唤起过程中数据传输的安全性和不可篡改性。

Description

一种应用唤起方法和装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种应用唤起方法和装置。
背景技术
双层运营架构体系即在数字货币系统中由中央银行向指定运营机构发行法定数字货币,指定运营机构负责兑换和流通交易。在电子支付消费中,尤其是在双层运营架构体系中,由于业务的需求,要实现移动应用之间互相唤起的操作。现有的应用唤起方案需要应用双方进行密钥交换以由各自的后台实现验签,且利用H5中间页来唤起应用。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:
现有方案无法适用于双层运营架构体系下的移动应用互相唤起,无法保证在应用唤起过程中数据传输的安全性和不可篡改性。
发明内容
有鉴于此,本发明实施例提供一种应用唤起方法和装置,能够适用于双层运营架构体系下的移动应用互相唤起,保证在应用唤起过程中数据传输的安全性和不可篡改性。
为实现上述目的,根据本发明实施例的一个方面,提供了一种应用唤起方法。
一种应用唤起方法,包括:将第一应用的签名要素上传到机构后台系统进行签名,得到第一签名信息;通过唤起应用跳转协议请求唤起第二应用,以由所述第二应用执行第一业务处理,所述唤起应用跳转协议的参数包括所述第一签名信息;响应于所述第二应用通过回拉应用跳转协议发起的对所述第一应用的唤起请求,获取所述回拉应用跳转协议的参数,所述回拉应用跳转协议的参数包括第二签名信息,所述第二签名信息是通过所述机构后台系统生成的;通过所述机构后台系统对所述第二签名信息进行验证,在所述第二签名信息验证通过后,唤起所述第一应用以执行第二业务处理,所述机构后台系统是与所述第一应用或所述第二应用关联的后台系统。
可选地,所述将第一应用的签名要素上传到机构后台系统进行签名,包括:将所述第一应用的签名要素构成的第一要素集合上传到所述机构后台系统进行加密后签名,所述第一要素集合包括第一公共要素、第一参数集、所述第一应用的业务自定义参数。
可选地,所述第一公共要素包括所述第一签名信息的时间戳和有效期;在所述第一应用为数字货币应用,且所述第二应用为第三方应用的情况下,所述第一参数集包括业务标识符;在所述第一应用为第三方应用,且所述第二应用为数字货币应用的情况下,所述第一参数集包括所述业务标识符和所述机构后台系统的标识,所述业务标识符用于所述第二应用执行与所述业务标识符对应的所述第一业务处理。
可选地,在所述第一应用为数字货币应用,且所述第二应用为第三方应用的情况下,所述第一参数集还包括第一自定义额外信息;在所述第一应用为第三方应用,且所述第二应用为数字货币应用的情况下,所述第一参数集还包括所述第一应用的唯一标识和/或所述第二自定义额外信息。
可选地,所述第一自定义额外信息或所述第二自定义额外信息包括加密加签算法信息,所述第二应用利用所述加密加签算法信息对所述第一签名信息进行验签和解密。
可选地,所述唤起应用跳转协议的参数还包括所述第一应用的签名要素、所述第一参数集。
可选地,所述通过唤起应用跳转协议请求唤起第二应用之前,包括:构造所述唤起应用跳转协议,所述唤起应用跳转协议包括协议名、主机名、路径以及参数;在所述第一应用为第三方应用,且所述第二应用为数字货币应用的情况下,所述协议名、所述主机名、所述路径由所述第二应用提供;在所述第一应用为数字货币应用,且所述第二应用为第三方应用的情况下,所述协议名、所述主机名、所述路径由所述机构后台系统提供,所述机构后台系统与所述第三方应用关联。
可选地,所述回拉应用跳转协议的参数还包括第二参数集,所述第二签名信息是所述机构后台系统对第二要素集合进行加密并加签而生成的,所述第二要素集合包括所述第二参数集;所述通过所述机构后台系统对所述第二签名信息进行验证,包括:将所述回拉应用跳转协议的参数发送到所述机构后台系统,由所述机构后台系统对所述第二签名信息进行验签和解密,在所述第二签名信息验签通过,并且解密得到的所述第二要素集合中的第二参数集与从所述回拉应用跳转协议的参数中得到的第二参数集一致的情况下,所述第二签名信息验证通过。
根据本发明实施例的另一方面,提供了一种应用唤起方法。
一种应用唤起方法,包括:响应于第一应用通过唤起应用跳转协议发起的对第二应用的唤起请求,获取所述唤起应用跳转协议的参数,所述唤起应用跳转协议的参数包括第一签名信息,所述第一签名信息是在机构后台系统生成的,所述机构后台系统是与所述第一应用或所述第二应用关联的后台系统;通过所述机构后台系统对所述第一签名信息进行验证,在所述第一签名信息验证通过后,唤起所述第二应用以执行第一业务处理;将所述第一业务处理的结果通过所述机构后台系统进行签名,得到第二签名信息;通过回拉应用跳转协议请求唤起所述第一应用,以由所述第一应用执行第二业务处理,所述回拉应用跳转协议的参数包括所述第二签名信息。
可选地,所述唤起应用跳转协议的参数还包括第一参数集,所述第一签名信息是所述机构后台系统对第一要素集合进行加密并加签而生成的,所述第一要素集合包括所述第一参数集;所述通过所述机构后台系统对所述第一签名信息进行验证,包括:将所述唤起应用跳转协议的参数发送到所述机构后台系统,由所述机构后台系统对所述第一签名信息进行验签和解密,在所述第一签名信息验签通过,并且解密得到的所述第一要素集合中的第一参数集与从所述唤起应用跳转协议的参数中得到的第一参数集一致的情况下,所述第一签名信息验证通过。
可选地,所述将所述第一业务处理的结果通过所述机构后台系统进行签名,包括:将所述第一业务处理的结果作为所述第二应用的业务自定义参数,通过所述机构后台系统对第二要素集合进行加密后签名,所述第二要素集合包括第二公共要素、第二参数集、所述第二应用的业务自定义参数。
可选地,所述第二公共要素包括所述第二签名信息的时间戳和有效期;在所述第一应用为数字货币应用,且所述第二应用为第三方应用的情况下,所述第二参数集包括业务标识符和所述机构后台系统的标识;在所述第一应用为第三方应用,且所述第二应用为数字货币应用的情况下,所述第二参数集包括所述业务标识符;其中,所述业务标识符用于所述第一应用执行与所述业务标识符对应的所述第二业务处理。
可选地,在所述第一应用为数字货币应用,且所述第二应用为第三方应用的情况下,所述第二参数集还包括所述第二应用的唯一标识和/或第一预设自定义信息;在所述第一应用为第三方应用,且所述第二应用为数字货币应用的情况下,所述第二参数集还包括第二预设自定义信息。
可选地,所述第一预设自定义信息或所述第二预设自定义信息包括加密加签算法信息,所述第一应用利用所述加密加签算法信息对所述第二签名信息进行验签和解密。
可选地,所述回拉应用跳转协议的参数还包括所述第二要素集合、所述第二参数集。
可选地,所述通过回拉应用跳转协议请求唤起所述第一应用之前,包括:构造所述回拉应用跳转协议,所述回拉应用跳转协议包括协议名、主机名、路径以及参数;在所述第一应用为第三方应用,且所述第二应用为数字货币应用的情况下,所述协议名、所述主机名、所述路径由所述机构后台系统提供,所述机构后台系统与所述第三方应用关联;在所述第一应用为数字货币应用,且所述第二应用为第三方应用的情况下,所述协议名、所述主机名、所述路径由所述第一应用提供。
根据本发明实施例的又一方面,提供了一种应用唤起装置。
一种应用唤起装置,包括:签名要素上传模块,用于将第一应用的签名要素上传到机构后台系统进行签名,得到第一签名信息;第二应用唤起模块,用于通过唤起应用跳转协议请求唤起第二应用,以由所述第二应用执行第一业务处理,所述唤起应用跳转协议的参数包括所述第一签名信息;回拉应用参数获取模块,用于响应于所述第二应用通过回拉应用跳转协议发起的对所述第一应用的唤起请求,获取所述回拉应用跳转协议的参数,所述回拉应用跳转协议的参数包括第二签名信息,所述第二签名信息是通过所述机构后台系统生成的;第一应用唤起模块,用于通过所述机构后台系统对所述第二签名信息进行验证,在所述第二签名信息验证通过后,唤起所述第一应用以执行第二业务处理,所述机构后台系统是与所述第一应用或所述第二应用关联的后台系统。
可选地,所述签名要素上传模块还用于:将所述第一应用的签名要素构成的第一要素集合上传到所述机构后台系统进行加密后签名,所述第一要素集合包括第一公共要素、第一参数集、所述第一应用的业务自定义参数。
可选地,所述第一公共要素包括所述第一签名信息的时间戳和有效期;在所述第一应用为数字货币应用,且所述第二应用为第三方应用的情况下,所述第一参数集包括业务标识符;在所述第一应用为第三方应用,且所述第二应用为数字货币应用的情况下,所述第一参数集包括所述业务标识符和所述机构后台系统的标识,所述业务标识符用于所述第二应用执行与所述业务标识符对应的所述第一业务处理。
可选地,在所述第一应用为数字货币应用,且所述第二应用为第三方应用的情况下,所述第一参数集还包括第一自定义额外信息;在所述第一应用为第三方应用,且所述第二应用为数字货币应用的情况下,所述第一参数集还包括所述第一应用的唯一标识和/或所述第二自定义额外信息。
可选地,所述第一自定义额外信息或所述第二自定义额外信息包括加密加签算法信息,所述第二应用利用所述加密加签算法信息对所述第一签名信息进行验签和解密。
可选地,所述唤起应用跳转协议的参数还包括所述第一应用的签名要素、所述第一参数集。
可选地,还包括唤起应用跳转协议构造模块,用于:构造所述唤起应用跳转协议,所述唤起应用跳转协议包括协议名、主机名、路径以及参数;在所述第一应用为第三方应用,且所述第二应用为数字货币应用的情况下,所述协议名、所述主机名、所述路径由所述第二应用提供;在所述第一应用为数字货币应用,且所述第二应用为第三方应用的情况下,所述协议名、所述主机名、所述路径由所述机构后台系统提供,所述机构后台系统与所述第三方应用关联。
可选地,所述回拉应用跳转协议的参数还包括第二参数集,所述第二签名信息是所述机构后台系统对第二要素集合进行加密并加签而生成的,所述第二要素集合包括所述第二参数集;所述第一应用唤起模块包括第二签名信息验证子模块,用于:将所述回拉应用跳转协议的参数发送到所述机构后台系统,由所述机构后台系统对所述第二签名信息进行验签和解密,在所述第二签名信息验签通过,并且解密得到的所述第二要素集合中的第二参数集与从所述回拉应用跳转协议的参数中得到的第二参数集一致的情况下,所述第二签名信息验证通过。
根据本发明实施例的又一方面,提供了一种应用唤起装置。
一种应用唤起装置,包括:唤起应用参数获取模块,用于响应于第一应用通过唤起应用跳转协议发起的对第二应用的唤起请求,获取所述唤起应用跳转协议的参数,所述唤起应用跳转协议的参数包括第一签名信息,所述第一签名信息是在机构后台系统生成的,所述机构后台系统是与所述第一应用或所述第二应用关联的后台系统;第二应用唤起执行模块,用于通过所述机构后台系统对所述第一签名信息进行验证,在所述第一签名信息验证通过后,唤起所述第二应用以执行第一业务处理;签名信息获取模块,用于将所述第一业务处理的结果通过所述机构后台系统进行签名,得到第二签名信息;第一应用唤起执行模块,用于通过回拉应用跳转协议请求唤起所述第一应用,以由所述第一应用执行第二业务处理,所述回拉应用跳转协议的参数包括所述第二签名信息。
可选地,所述唤起应用跳转协议的参数还包括第一参数集,所述第一签名信息是所述机构后台系统对第一要素集合进行加密并加签而生成的,所述第一要素集合包括所述第一参数集;所述第二应用唤起执行模块包括第一签名信息验证子模块,用于:将所述唤起应用跳转协议的参数发送到所述机构后台系统,由所述机构后台系统对所述第一签名信息进行验签和解密,在所述第一签名信息验签通过,并且解密得到的所述第一要素集合中的第一参数集与从所述唤起应用跳转协议的参数中得到的第一参数集一致的情况下,所述第一签名信息验证通过。
可选地,所述签名信息获取模块还用于:将所述第一业务处理的结果作为所述第二应用的业务自定义参数,通过所述机构后台系统对第二要素集合进行加密后签名,所述第二要素集合包括第二公共要素、第二参数集、所述第二应用的业务自定义参数。
可选地,所述第二公共要素包括所述第二签名信息的时间戳和有效期;在所述第一应用为数字货币应用,且所述第二应用为第三方应用的情况下,所述第二参数集包括业务标识符和所述机构后台系统的标识;在所述第一应用为第三方应用,且所述第二应用为数字货币应用的情况下,所述第二参数集包括所述业务标识符;其中,所述业务标识符用于所述第一应用执行与所述业务标识符对应的所述第二业务处理。
可选地,在所述第一应用为数字货币应用,且所述第二应用为第三方应用的情况下,所述第二参数集还包括所述第二应用的唯一标识和/或第一预设自定义信息;在所述第一应用为第三方应用,且所述第二应用为数字货币应用的情况下,所述第二参数集还包括第二预设自定义信息。
可选地,所述第一预设自定义信息或所述第二预设自定义信息包括加密加签算法信息,所述第一应用利用所述加密加签算法信息对所述第二签名信息进行验签和解密。可选地,所述回拉应用跳转协议的参数还包括所述第二要素集合、所述第二参数集。
可选地,还包括回拉应用跳转协议构造模块,用于:构造所述回拉应用跳转协议,所述回拉应用跳转协议包括协议名、主机名、路径以及参数;在所述第一应用为第三方应用,且所述第二应用为数字货币应用的情况下,所述协议名、所述主机名、所述路径由所述机构后台系统提供,所述机构后台系统与所述第三方应用关联;在所述第一应用为数字货币应用,且所述第二应用为第三方应用的情况下,所述协议名、所述主机名、所述路径由所述第一应用提供。
根据本发明实施例的又一方面,提供了一种电子设备。
一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得一个或多个处理器实现本发明实施例所提供的应用唤起方法。
根据本发明实施例的又一方面,提供了一种计算机可读介质。
一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明实施例所提供的应用唤起方法。
上述发明中的一个实施例具有如下优点或有益效果:将第一应用的签名要素上传到机构后台系统进行签名,得到第一签名信息;通过唤起应用跳转协议请求唤起第二应用,以由第二应用执行第一业务处理,唤起应用跳转协议的参数包括第一签名信息;响应于第二应用通过回拉应用跳转协议发起的对第一应用的唤起请求,获取回拉应用跳转协议的参数,回拉应用跳转协议的参数包括第二签名信息,第二签名信息是通过机构后台系统生成的,机构后台系统是与第一应用或第二应用关联的后台系统;通过机构后台系统对第二签名信息进行验证,在第二签名信息验证通过后,唤起第一应用以执行第二业务处理。能够适用于双层运营架构体系下的移动应用互相唤起,保证在应用唤起过程中数据传输的安全性和不可篡改性。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明一个实施例的应用唤起方法的主要步骤示意图;
图2是根据本发明另一个实施例的应用唤起方法的主要步骤示意图;
图3是根据本发明一个实施例的第三方应用唤起数字货币应用的时序示意图;
图4是根据本发明一个实施例的数字货币应用唤起第三方应用的时序示意图;
图5是根据本发明一个实施例的应用唤起装置的主要模块示意图;
图6是根据本发明另一个实施例的应用唤起装置的主要模块示意图;
图7是本发明实施例可以应用于其中的示例性系统架构图;
图8是适于用来实现本发明实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图1是根据本发明一个实施例的应用唤起方法的主要步骤示意图。如图1所示,本发明一个实施例的应用唤起方法主要包括如下的步骤S101至步骤S104。
步骤S101:将第一应用的签名要素上传到机构后台系统进行签名,得到第一签名信息;
步骤S102:通过唤起应用跳转协议请求唤起第二应用,以由第二应用执行第一业务处理,唤起应用跳转协议的参数包括第一签名信息;
步骤S103:响应于第二应用通过回拉应用跳转协议发起的对第一应用的唤起请求,获取回拉应用跳转协议的参数,回拉应用跳转协议的参数包括第二签名信息,第二签名信息是通过机构后台系统生成的;
步骤S104:通过机构后台系统对第二签名信息进行验证,在第二签名信息验证通过后,唤起第一应用以执行第二业务处理。
第一应用和第二应用为不同的移动应用。第一应用所执行的业务处理为第二业务处理,第二应用所执行的业务处理为第一业务处理。本发明实施例的移动应用可以为数字货币应用或第三方应用。
第一应用的签名要素具体可以包括第一公共要素、第一参数集、第一应用的业务自定义参数,第一应用的签名要素构成第一要素集合,即第一要素集合包括第一公共要素、第一参数集、第一应用的业务自定义参数。第一应用的业务自定义参数根据具体业务而确定。
将第一应用的签名要素上传到机构后台系统进行签名,具体包括:将第一应用的签名要素构成的第一要素集合上传到机构后台系统进行加密后签名。
第一公共要素具体可包括第一签名信息的时间戳(time)和有效期(validity)。
在第一应用为数字货币应用,且第二应用为第三方应用的情况下,第一参数集可包括业务标识符(或称业务标识字符),业务标识符(biz)用于标识第一应用与第二应用当前交互所涉及的业务。
在第一应用为第三方应用,且第二应用为数字货币应用的情况下,第一参数集可包括业务标识符和机构后台系统的标识。机构后台系统的标识具体可以是机构编号(InstNo)。
第一参数集中的业务标识符用于第二应用执行与该业务标识符对应的第一业务处理。
在第一应用为数字货币应用,且第二应用为第三方应用的情况下,第一参数集还可包括第一自定义额外信息,第一自定义额外信息包括但不限于加密加签算法信息,加密加签算法信息用于指示对第一应用的签名要素加密和签名所采用的算法的信息。
在第一应用为第三方应用,且第二应用为数字货币应用的情况下,第一参数集还可包括第一应用的唯一标识(appId)和/或第二自定义额外信息,第二自定义额外信息包括但不限于加密加签算法信息。
第二应用利用第一自定义额外信息或第二自定义额外信息中的加密加签算法信息对第一签名信息进行验签和解密。
唤起应用跳转协议即第一应用唤起第二应用时的URL Scheme,还可称为拉起URLScheme,URL Scheme是一种可以让应用相互间跳转的协议。唤起应用跳转协议的参数还包括第一应用的签名要素、第一参数集。
通过唤起应用跳转协议请求唤起第二应用之前,构造唤起应用跳转协议,唤起应用跳转协议包括协议名、主机名、路径以及参数。
在第一应用为第三方应用,且第二应用为数字货币应用的情况下,协议名、主机名、路径由第二应用提供。
在第一应用为数字货币应用,且第二应用为第三方应用的情况下,协议名、主机名、路径由机构后台系统提供,机构后台系统与第三方应用关联。
机构后台系统是与第一应用或第二应用关联的后台系统,具体地,与机构后台系统关联的第一应用或第二应用为第三方应用,即:机构后台系统与第三方应用关联,是指机构后台系统可以是第三方应用自己的后台系统,也可以是与第三方应用存在合作关系的运营机构后台系统。运营机构后台系统为负责数字货币兑换和流通交易的运营机构的后台系统。
回拉应用跳转协议即本实施例中第二应用唤起(回拉)第一应用时的URL Scheme,还可称为回拉URL Scheme。回拉应用跳转协议的参数还包括第二参数集,第二签名信息是机构后台系统对第二要素集合进行加密并加签而生成的,第二要素集合包括第二参数集,还包括第二公共要素、第二应用的业务自定义参数。第二应用的业务自定义参数具体包括第一业务处理的结果。
第二公共要素包括第二签名信息的时间戳和有效期。
在第一应用为数字货币应用且第二应用为第三方应用的情况下,第二参数集包括业务标识符和机构后台系统的标识。在第一应用为第三方应用且第二应用为数字货币应用的情况下,第二参数集包括业务标识符。
在第一应用为数字货币应用且第二应用为第三方应用的情况下,第二参数集还可包括第二应用的唯一标识和/或第一预设自定义信息。在第一应用为第三方应用,且第二应用为数字货币应用的情况下,第二参数集还可包括第二预设自定义信息,第一预设自定义信息、第二预设自定义信息均可根据需要设定,例如加密加签算法信息、算法版本信息等,本发明实施例对于预设自定义信息的具体内容不作限定。
通过机构后台系统对第二签名信息进行验证,具体包括:将回拉应用跳转协议的参数发送到机构后台系统,由机构后台系统对第二签名信息进行验签和解密,在第二签名信息验签通过,并且解密得到的第二要素集合中的第二参数集与从回拉应用跳转协议的参数中得到的第二参数集一致的情况下,第二签名信息验证通过。通过机构后台系统生成第二签名信息,并由机构后台系统验证第二签名信息,无需双方应用进行密钥交换,并保证了数据传输的安全性和不可篡改性。
图2是根据本发明另一个实施例的应用唤起方法的主要步骤示意图。如图2所示,本发明一个实施例的应用唤起方法主要包括如下的步骤S201至步骤S204。对于上文实施例已做详细介绍的内容,本实施例不再赘述。
步骤S201:响应于第一应用通过唤起应用跳转协议发起的对第二应用的唤起请求,获取唤起应用跳转协议的参数,唤起应用跳转协议的参数包括第一签名信息,第一签名信息是在机构后台系统生成的;
步骤S202:通过机构后台系统对第一签名信息进行验证,在第一签名信息验证通过后,唤起第二应用以执行第一业务处理;
步骤S203:将第一业务处理的结果通过机构后台系统进行签名,得到第二签名信息;
步骤S204:通过回拉应用跳转协议请求唤起第一应用,以由第一应用执行第二业务处理,回拉应用跳转协议的参数包括第二签名信息。
唤起应用跳转协议(第一应用唤起第二应用时的URL Scheme)的参数还包括第一参数集,第一签名信息是机构后台系统对第一要素集合进行加密并加签而生成的,第一要素集合包括第一参数集,还包括第一公共要素、第一应用的业务自定义参数。
通过机构后台系统对第一签名信息进行验证,具体包括:将唤起应用跳转协议的参数发送到机构后台系统,由机构后台系统对第一签名信息进行验签和解密,在第一签名信息验签通过,并且解密得到的第一要素集合中的第一参数集与从唤起应用跳转协议的参数中得到的第一参数集一致的情况下,第一签名信息验证通过。通过机构后台系统生成第一签名信息,并由机构后台系统验证第一签名信息,无需双方应用进行密钥交换,并保证了数据传输的安全性和不可篡改性。
将第一业务处理的结果通过机构后台系统进行签名,具体包括:将第一业务处理的结果作为第二应用的业务自定义参数,通过机构后台系统对第二要素集合进行加密后签名,第二要素集合包括第二公共要素、第二参数集、第二应用的业务自定义参数。
第二公共要素包括第二签名信息的时间戳和有效期。
在第一应用为数字货币应用,且第二应用为第三方应用的情况下,第二参数集包括业务标识符和机构后台系统的标识。
在第一应用为第三方应用,且第二应用为数字货币应用的情况下,第二参数集包括业务标识符。
其中,第二参数集中的业务标识符用于第一应用执行与该业务标识符对应的第二业务处理。在第一应用为数字货币应用,且第二应用为第三方应用的情况下,第二参数集还可以包括第二应用的唯一标识和/或第一预设自定义信息(ExtraInfo)。
在第一应用为第三方应用,且第二应用为数字货币应用的情况下,第二参数集还可以包括第二预设自定义信息(ExtraInfo)。
第一预设自定义信息或第二预设自定义信息包括加密加签算法信息,第一应用利用加密加签算法信息对第二签名信息进行验签和解密。
回拉应用跳转协议(第二应用唤起(回拉)第一应用时的URL Scheme)的参数还包括第二要素集合、第二参数集。
通过回拉应用跳转协议请求唤起第一应用之前,构造回拉应用跳转协议,回拉应用跳转协议包括协议名、主机名、路径以及参数。
在第一应用为第三方应用,且第二应用为数字货币应用的情况下,协议名、主机名、路径由机构后台系统提供,机构后台系统是与第一应用或第二应用关联的后台系统,与机构后台系统关联的第一应用或第二应用具体为第三方应用,即:机构后台系统与第三方应用关联。在第一应用为数字货币应用,且第二应用为第三方应用的情况下,协议名、主机名、路径由第一应用提供。
本发明实施例提供外部应用(第三方应用)与数字货币App(数字货币应用)互相唤起的统一数据传输实现。场景有两个:场景一是第三方应用唤起数字货币应用,然后回调到第三方应用;场景二是数字货币应用拉起(即唤起)第三方应用,然后回调到数字货币应用。本发明实施例的数字货币App可以是数字人民币App、数字美元App、数字欧元App等各种数字货币App,具体不限于上述所列出的数字货币App种类。
场景一:第三方应用唤起数字货币应用,然后回调到第三方应用。由于日益增加的业务需求,需要第三方应用拉起数字货币App进行业务处理,并把处理结果返回给拉起方(第三方应用)。
本发明一个实施例的第三方应用唤起数字货币应用的流程包括:第三方App(应用)向机构后台系统(简称机构后台)请求签名字符串(即第一签名信息),并生成拉起的URLScheme;通过URL Scheme拉起数字货币App;数字货币App通过机构后台验证签名字符串的签名并解密;机构后台把解密成功的数据返回给数字货币App;数字货币App进行业务处理(即第一业务处理);数字货币App把业务处理结果(即第一业务处理的结果)请求到机构后台进行加密加签处理,得到第二签名信息;数字货币App拼接好URL Scheme回拉到第三方App;第三方App对第二签名信息进行验签并解密,处理相应的业务逻辑(第二业务处理)。在这一过程中,第三方应用为第一应用,数字货币应用为第二应用。
本发明一个实施例的第三方应用唤起数字货币应用的时序示意图具体如图3所示,第三方App向机构后台请求签名字符串(S301);机构后台向第三方App返回签名字符串(S302);第三方App通过URL Scheme拉起数字货币App(S303),该URL Scheme可称为拉起URLScheme;数字货币App通过机构后台验证拉起方程序签名并解密拉起数据(S304),即数字货币App通过机构后台对签名字符串进行验证,具体包括验签和解密的操作;机构后台对签名字符串验证通过,返回请求成功的信息(S305);数字货币App进行业务处理(S306),即处理数字货币App的业务逻辑;数字货币App把业务处理结果发送到机构后台进行加密并加签(S307),即数字货币App将该业务处理的结果(第一业务处理的结果)作为数字货币App的业务自定义参数,通过机构后台对第二要素集合进行加密后签名,第二要素集合包括第二公共要素、第二参数集、数字货币App的业务自定义参数,第二要素集合具体参见上文各实施例的介绍;机构后台返回加密和签名后的结果(S308),机构后台返回的加密和签名后的结果即第二签名信息;数字货币App根据该加密和签名后的结果通过URL Scheme回拉第三方App(S309),该URL Scheme可称为回拉URL Scheme,该URL Scheme的参数包括第二签名信息;第三方App对第二签名信息验签并解密,根据解密后的数据处理业务逻辑(S310),即执行第二业务处理。第三方App对第二签名信息验签并解密可通过机构后台进行,具体可以将URL Scheme的参数发送到机构后台,由机构后台对第二签名信息进行验签和解密,若第二签名信息验签通过且解密得到的第二要素集合中的第二参数集与从回拉URL Scheme的参数中得到的第二参数集一致,则第二签名信息验证通过并继续下一步,若第二签名信息验签不通过和/或上述第二参数集不一致,则整个流程终止。
场景一中第三方应用唤起数字货币应用时的拉起URL Scheme设计,协议、主机名、路径由数字货币应用端提供,示例具体如下:
a)协议:example;
b)主机名:example.com;
c)路径:/path;
d)参数:参考表1。
表1
Figure BDA0003322925700000161
上述表1中加签要素(第一要素集合)组成的json串拼接为一个json,即基于表1中"time"、"validity"、"appId"、"extraInfo"、"biz"、"instNo"、"walletId"的信息拼接得到json数据。
本发明实施例针对URL Scheme的参数需要使用URL编码。
URL编码前的一个示例:
example://example.com/path?extraInfo=xxx&appId=22222222&biz=openWallet&instNo=C3333333&signInfo=ecJIb1hJrA2nsRJ3DRPSyQ==&sign=11a22222f2a33ad4b4fc555555ee6666
URL编码后的相应示例:
example://example.com/path?extraInfo=xxx&appId=22222222&biz=openWallet&instNo=C3333333&signInfo=ecJIb1hJrA2nsRJ3DRPSyQ%25253D%25253D&sign=11a22222f2a33ad4b4fc555555ee6666
通过URL编码,实现上述示例中的“==”转换为“%25253D%25253D”。
场景一中数字货币应用唤起(回拉)第三方应用的回拉URL Scheme设计
格式:sourceApplication?signInfo=XXX&sign=XXX;
参数:参考表2。
表2
Figure BDA0003322925700000171
Figure BDA0003322925700000181
上述表2中加签要素(第二要素集合)拼接为一个json,即基于表2中"time"、"validity"、"extraInfo"、"biz"、"walletId"的信息拼接为json数据。
参数"walletId"为业务自定义参数,可替换为数字货币App进行业务处理所得到的第一业务处理的结果。
本发明实施例针对URL Scheme的参数需要使用URL编码。
关于URL Scheme的参数的URL编码,上文已经具体介绍,此处和后文不再详细说明。URL编码前的一个示例:icbc://icbc.example.com?biz=openWallet&extraInfo=xxx&signInfo=ecJIb1hJrA2nsRJ3DRPSyQ==&sign=22a33333f2a44ad4b9fc555555ee6666
URL编码后的一个示例:
icbc://icbc.example.com?biz=openWallet&extraInfo=xxx&signInfo=ecJIb1hJrA2nsRJ3DRPSyQ%25253D%25253D&sign=22a33333f2a44ad4b9fc555555ee6666
场景二:数字货币应用拉起第三方应用,然后回调到数字货币应用。由于日益增加的业务需求,需要数字货币App拉起第三方应用进行业务处理,并把处理结果返回给数字货币App。
本发明一个实施例的数字货币应用唤起第三方应用的流程包括:数字货币App向机构后台请求签名字符串并生成拉起的URL Scheme;通过URL Scheme拉起第三方App;第三方App去机构后台验证签名并解密;把解密成功的数据返回给第三方App;第三方App进行业务处理;第三方App把业务处理结果请求到机构后台进行加密加签处理;第三方App拼接好URL Scheme回拉到数字货币App;数字货币App进行验签并解密,处理相应的业务逻辑。该流程与上文介绍的场景一中第三方应用唤起数字货币应用的流程类似,不同之处在于本流程中数字货币应用为第一应用,第三方应用为第二应用。而场景一的第三方应用唤起数字货币应用的流程中第三方应用为第一应用,数字货币应用为第二应用。由于两种场景(场景一、二)的第一应用执行的操作相同,两种场景的第二应用执行的操作也相同,场景二的数字货币应用唤起第三方应用的流程的具体实现可以参见上文对场景一中关于第三方应用唤起数字货币应用的流程的详细介绍。
本发明一个实施例的数字货币应用(数字货币App)唤起第三方应用(第三方App)的时序示意图如图4所示。数字货币App向机构后台请求签名字符串(S401),签名字符串即第一签名信息;机构后台向数字货币App返回签名字符串(S402);数字货币App通过URLScheme拉起第三方App(S403),该URL Scheme可称为拉起URL Scheme;第三方App进行验签并解密(S404),第三方App可通过机构后台对签名字符串进行验证,具体包括验签和解密的操作;签名字符串验证成功后,拉起第三方App并实现业务逻辑(S405),即第三方App执行第一业务处理;第三方App进行业务处理结果加密并做签名(S406),第三方App可将业务处理结果发送到机构后台进行加密并加签,机构后台具体可对第二要素集合进行加密并加签,第二要素集合包括第二公共要素、第二参数集、第二应用的业务自定义参数,业务自定义参数即第三方App进行业务处理的结果,第二要素集合参见上文各实施例的介绍;第三方App通过回拉URL Scheme唤起数字货币App,并携带加密密文和签名(S407),携带的加密密文和签名包括上述业务处理结果加密并加签所得到的第二签名信息;数字货币App通过机构后台验证拉起方签名并解密(S408),即由机构后台对第二签名信息进行验签和解密;机构后台验签和解密成功后,返回请求成功的信息(S409),若第二签名信息验签通过且解密得到的第二要素集合中的第二参数集与从回拉URL Scheme的参数中得到的第二参数集一致,则第二签名信息验证通过,返回请求成功的信息并继续下一步,若第二签名信息验签不通过和/或上述第二参数集不一致,则整个流程终止;数字货币App使用解密后的数据做业务逻辑处理(S410),即执行第二业务处理。
场景二中数字货币App唤起第三方应用的拉起URL Scheme设计。协议名、主机名、路径由机构后台系统提供,具体如下:
a)协议:机构自行提供,例如:icbc;
b)主机名:机构自行提供,例如:icbc.example.com;
c)路径:机构自行提供;
d)参数:参考表3。
表3
Figure BDA0003322925700000201
上述表3中加签要素(第一要素集合)组成的拼接为一个json,即基于表3中"time"、"validity"、"extraInfo"、"biz"、"walletId"的信息拼接为json数据。
本发明实施例针对URL Scheme的参数需要使用URL编码。
URL编码前的一个示例:
icbc://icbc.example.com?biz=openWallet&extraInfo=xxx&signInfo=ecJIb1hJrA2nsRJ3DRPSyQ==&sign=22a33333f2a44ad4b9fc555555ee6666
URL编码后的一个示例:
icbc://icbc.example.com?biz=openWallet&extraInfo=xxx&signInfo=ecJIb1hJrA2nsRJ3DRPSyQ%25253D%25253D&sign=22a33333f2a44ad4b9fc555555ee6666
场景二中第三方应用唤起(回拉)数字货币App的回拉URLScheme设计
a)格式:sourceApplication?signInfo=XXX&sign=XXX;
b)参数:参考表4。
表4
Figure BDA0003322925700000211
Figure BDA0003322925700000221
上述表4中加签要素(第二要素集合)组成的拼接为一个json字符串,即基于表4中"time"、"validity"、"appId"、"extraInfo"、"biz"、"walletId"的信息拼接为json数据。
参数"walletId"为业务自定义参数,可替换为第三方应用进行业务处理所得到的第一业务处理的结果。
上述表1~表4中,属性列中“[1..1]”表示必需项,“[0..1]”表示非必需项。
针对URL Scheme的参数需要使用URL编码。
URL编码前的一个示例如下:
example://example.com/path?extraInfo=xxx&appId=22222222&biz=openWallet&instNo=333333333&signInfo=ecJIb1hJrA2nsRJ3DRPSyQ==&sign=11a22222f2a33ad4b4fc555555ee6666
URL编码后的相应示例:
example://example.com/path?extraInfo=xxx&appId=22222222&biz=openWallet&instNo=333333333&signInfo=ecJIb1hJrA2nsRJ3DRPSyQ%25253D%25253D&sign=11a22222f2a33ad4b4fc555555ee6666
上述机构编号需要机构自行拼接。
本发明实施例提出的基于双层运营架构体系下的移动应用互相拉起的交互流程,通过机构自己签名自己验证的方式实现验证数据的有效性和不可篡改性,从而在互相唤起过程中保证数据传输的安全性和不可篡改性,满足在双层运营架构下的数据传输需求,并提出了双层运营架构体系下数据格式标准,填补了双层运营体系下移动应用互相拉起的技术空白。
图5是根据本发明一个实施例的应用唤起装置的主要模块示意图。
如图5所示,本发明一个实施例的应用唤起装置500主要包括:签名要素上传模块501、第二应用唤起模块502、回拉应用参数获取模块503、第一应用唤起模块504。应用唤起装置500可设置于第一应用,即该装置500的各模块功能可以是第一应用的功能。
签名要素上传模块501,用于将第一应用的签名要素上传到机构后台系统进行签名,得到第一签名信息;
第二应用唤起模块502,用于通过唤起应用跳转协议请求唤起第二应用,以由第二应用执行第一业务处理,唤起应用跳转协议的参数包括第一签名信息;
回拉应用参数获取模块503,用于响应于第二应用通过回拉应用跳转协议发起的对第一应用的唤起请求,获取回拉应用跳转协议的参数,回拉应用跳转协议的参数包括第二签名信息,第二签名信息是通过机构后台系统生成的;
第一应用唤起模块504,用于通过机构后台系统对第二签名信息进行验证,在第二签名信息验证通过后,唤起第一应用以执行第二业务处理,机构后台系统是与第一应用或第二应用关联的后台系统。
签名要素上传模块501具体用于:将第一应用的签名要素构成的第一要素集合上传到机构后台系统进行加密后签名,第一要素集合包括第一公共要素、第一参数集、第一应用的业务自定义参数。
第一公共要素具体包括第一签名信息的时间戳和有效期。
在第一应用为数字货币应用,且第二应用为第三方应用的情况下,第一参数集包括业务标识符。
在第一应用为第三方应用,且第二应用为数字货币应用的情况下,第一参数集包括业务标识符和机构后台系统的标识。
所述业务标识符用于所述第二应用执行与所述业务标识符对应的所述第一业务处理。
在第一应用为数字货币应用,且第二应用为第三方应用的情况下,第一参数集还可以包括第一自定义额外信息。
在第一应用为第三方应用,且第二应用为数字货币应用的情况下,第一参数集还可以包括第一应用的唯一标识和/或第二自定义额外信息。
第一自定义额外信息或第二自定义额外信息包括加密加签算法信息,第二应用利用该加密加签算法信息对第一签名信息进行验签和解密。
唤起应用跳转协议的参数还包括第一应用的签名要素、第一参数集。
应用唤起装置500还可以包括唤起应用跳转协议构造模块,用于:构造唤起应用跳转协议,唤起应用跳转协议包括协议名、主机名、路径以及参数。
在第一应用为第三方应用,且第二应用为数字货币应用的情况下,协议名、主机名、路径由第二应用提供。
在第一应用为数字货币应用,且第二应用为第三方应用的情况下,协议名、主机名、路径由机构后台系统提供,机构后台系统与第三方应用关联。
回拉应用跳转协议的参数还包括第二参数集,第二签名信息是机构后台系统对第二要素集合进行加密并加签而生成的,第二要素集合包括第二参数集。
第一应用唤起模块504可包括第二签名信息验证子模块,用于:将回拉应用跳转协议的参数发送到机构后台系统,由机构后台系统对第二签名信息进行验签和解密,在第二签名信息验签通过,并且解密得到的第二要素集合中的第二参数集与从回拉应用跳转协议的参数中得到的第二参数集一致的情况下,第二签名信息验证通过。
图6是根据本发明另一个实施例的应用唤起装置的主要模块示意图。如图6所示,本发明一个实施例的应用唤起装置600主要包括:唤起应用参数获取模块601、第二应用唤起执行模块602、签名信息获取模块603、第一应用唤起执行模块604。应用唤起装置600可设置于第二应用,即该装置600的各模块功能可以是第二应用的功能。
唤起应用参数获取模块601,用于响应于第一应用通过唤起应用跳转协议发起的对第二应用的唤起请求,获取唤起应用跳转协议的参数,唤起应用跳转协议的参数包括第一签名信息,第一签名信息是在机构后台系统生成的;机构后台系统是与第一应用或第二应用关联的后台系统。
第二应用唤起执行模块602,用于通过机构后台系统对第一签名信息进行验证,在第一签名信息验证通过后,唤起第二应用以执行第一业务处理;
签名信息获取模块603,用于将第一业务处理的结果通过机构后台系统进行签名,得到第二签名信息;
第一应用唤起执行模块604,用于通过回拉应用跳转协议请求唤起第一应用,以由第一应用执行第二业务处理,回拉应用跳转协议的参数包括第二签名信息。
唤起应用跳转协议的参数还包括第一参数集,第一签名信息是机构后台系统对第一要素集合进行加密并加签而生成的,第一要素集合包括第一参数集。
第二应用唤起执行模块602可以包括第一签名信息验证子模块,用于:将唤起应用跳转协议的参数发送到机构后台系统,由机构后台系统对第一签名信息进行验签和解密,在第一签名信息验签通过,并且解密得到的第一要素集合中的第一参数集与从唤起应用跳转协议的参数中得到的第一参数集一致的情况下,第一签名信息验证通过。
签名信息获取模块603具体用于:将第一业务处理的结果作为第二应用的业务自定义参数,通过机构后台系统对第二要素集合进行加密后签名,第二要素集合包括第二公共要素、第二参数集、第二应用的业务自定义参数。
第二公共要素可以包括第二签名信息的时间戳和有效期。
在第一应用为数字货币应用,且第二应用为第三方应用的情况下,第二参数集包括业务标识符和机构后台系统的标识。
在第一应用为第三方应用,且第二应用为数字货币应用的情况下,第二参数集包括业务标识符。
其中,该业务标识符用于第一应用执行与业务标识符对应的第二业务处理。
在第一应用为数字货币应用,且第二应用为第三方应用的情况下,第二参数集还包括第二应用的唯一标识和/或第一预设自定义信息。
在第一应用为第三方应用,且第二应用为数字货币应用的情况下,第二参数集还包括第二预设自定义信息。
第一预设自定义信息或第二预设自定义信息包括加密加签算法信息,第一应用利用该加密加签算法信息对第二签名信息进行验签和解密。
回拉应用跳转协议的参数还包括第二要素集合、第二参数集。
应用唤起装置600还可以包括回拉应用跳转协议构造模块,用于:构造回拉应用跳转协议,回拉应用跳转协议包括协议名、主机名、路径以及参数。
在第一应用为第三方应用,且第二应用为数字货币应用的情况下,协议名、主机名、路径由机构后台系统提供,机构后台系统与第三方应用关联。
在第一应用为数字货币应用,且第二应用为第三方应用的情况下,协议名、主机名、路径由第一应用提供。
图7示出了可以应用本发明实施例的应用唤起方法或应用唤起装置的示例性系统架构700。
如图7所示,系统架构700可以包括终端设备701、702、703,网络704和服务器705。网络704用以在终端设备701、702、703和服务器705之间提供通信链路的介质。网络704可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备701、702、703通过网络704与服务器705交互,以接收或发送消息等。终端设备701、702、703上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
终端设备701、702、703可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器705可以是提供各种服务的服务器,例如对用户利用终端设备701、702、703所浏览的购物类网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的信息查询请求等数据进行分析等处理,并将处理结果(例如支付结果--仅为示例)反馈给终端设备。
需要说明的是,本发明实施例所提供的应用唤起方法一般由终端设备701、702、703执行,相应地,应用唤起装置一般设置于终端设备701、702、703中。
应该理解,图7中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
下面参考图8,其示出了适于用来实现本申请实施例的终端设备或服务器的计算机系统800的结构示意图。图8示出的终端设备或服务器仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图8所示,计算机系统800包括中央处理单元(CPU)801,其可以根据存储在只读存储器(ROM)802中的程序或者从存储部分808加载到随机访问存储器(RAM)803中的程序而执行各种适当的动作和处理。在RAM 803中,还存储有系统800操作所需的各种程序和数据。CPU 801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
以下部件连接至I/O接口805:包括键盘、鼠标等的输入部分806;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分807;包括硬盘等的存储部分808;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分809。通信部分809经由诸如因特网的网络执行通信处理。驱动器810也根据需要连接至I/O接口805。可拆卸介质811,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器810上,以便于从其上读出的计算机程序根据需要被安装入存储部分808。
特别地,根据本发明公开的实施例,上文参考主要步骤示意图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行主要步骤示意图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分809从网络上被下载和安装,和/或从可拆卸介质811被安装。在该计算机程序被中央处理单元(CPU)801执行时,执行本申请的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的主要步骤示意图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,主要步骤示意图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或主要步骤示意图中的每个方框、以及框图或主要步骤示意图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括签名要素上传模块、第二应用唤起模块、回拉应用参数获取模块、第一应用唤起模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,签名要素上传模块还可以被描述为“用于将第一应用的签名要素上传到机构后台系统进行签名,得到第一签名信息的模块”。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:将第一应用的签名要素上传到机构后台系统进行签名,得到第一签名信息;通过唤起应用跳转协议请求唤起第二应用,以由所述第二应用执行第一业务处理,所述唤起应用跳转协议的参数包括所述第一签名信息;响应于所述第二应用通过回拉应用跳转协议发起的对所述第一应用的唤起请求,获取所述回拉应用跳转协议的参数,所述回拉应用跳转协议的参数包括第二签名信息,所述第二签名信息是通过所述机构后台系统生成的;通过所述机构后台系统对所述第二签名信息进行验证,在所述第二签名信息验证通过后,唤起所述第一应用以执行第二业务处理。或者包括:响应于第一应用通过唤起应用跳转协议发起的对第二应用的唤起请求,获取所述唤起应用跳转协议的参数,所述唤起应用跳转协议的参数包括第一签名信息,所述第一签名信息是在机构后台系统生成的,所述机构后台系统是与所述第一应用或所述第二应用关联的后台系统;通过所述机构后台系统对所述第一签名信息进行验证,在所述第一签名信息验证通过后,唤起所述第二应用以执行第一业务处理;将所述第一业务处理的结果通过所述机构后台系统进行签名,得到第二签名信息;通过回拉应用跳转协议请求唤起所述第一应用,以由所述第一应用执行第二业务处理,所述回拉应用跳转协议的参数包括所述第二签名信息。
根据本发明实施例的技术方案,将第一应用的签名要素上传到机构后台系统进行签名,得到第一签名信息;通过含第一签名信息的唤起应用跳转协议请求唤起第二应用以由第二应用执行第一业务处理;响应于第二应用通过回拉应用跳转协议发起的对第一应用的唤起请求,获取回拉应用跳转协议的参数;通过机构后台系统对回拉应用跳转协议的参数中的第二签名信息进行验证,在第二签名信息验证通过后唤起第一应用以执行第二业务处理。本发明实施例提出的基于双层运营架构体系下的移动应用互相拉起的交互流程,在互相唤起过程中保证数据传输的安全性和不可篡改性,满足在双层运营架构下的数据传输需求,并提出双层运营架构体系下数据格式标准,填补了双层运营体系下移动应用互相拉起的技术空白。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

Claims (20)

1.一种应用唤起方法,其特征在于,包括:
将第一应用的签名要素上传到机构后台系统进行签名,得到第一签名信息;
通过唤起应用跳转协议请求唤起第二应用,以由所述第二应用执行第一业务处理,所述唤起应用跳转协议的参数包括所述第一签名信息;
响应于所述第二应用通过回拉应用跳转协议发起的对所述第一应用的唤起请求,获取所述回拉应用跳转协议的参数,所述回拉应用跳转协议的参数包括第二签名信息,所述第二签名信息是通过所述机构后台系统生成的;
通过所述机构后台系统对所述第二签名信息进行验证,在所述第二签名信息验证通过后,唤起所述第一应用以执行第二业务处理,所述机构后台系统是与所述第一应用或所述第二应用关联的后台系统。
2.根据权利要求1所述的方法,其特征在于,所述将第一应用的签名要素上传到机构后台系统进行签名,包括:
将所述第一应用的签名要素构成的第一要素集合上传到所述机构后台系统进行加密后签名,所述第一要素集合包括第一公共要素、第一参数集、所述第一应用的业务自定义参数。
3.根据权利要求2所述的方法,其特征在于,所述第一公共要素包括所述第一签名信息的时间戳和有效期;
在所述第一应用为数字货币应用,且所述第二应用为第三方应用的情况下,所述第一参数集包括业务标识符;
在所述第一应用为第三方应用,且所述第二应用为数字货币应用的情况下,所述第一参数集包括所述业务标识符和所述机构后台系统的标识,所述业务标识符用于所述第二应用执行与所述业务标识符对应的所述第一业务处理。
4.根据权利要求3所述的方法,其特征在于,在所述第一应用为数字货币应用,且所述第二应用为第三方应用的情况下,所述第一参数集还包括第一自定义额外信息;
在所述第一应用为第三方应用,且所述第二应用为数字货币应用的情况下,所述第一参数集还包括所述第一应用的唯一标识和/或所述第二自定义额外信息。
5.根据权利要求4所述的方法,其特征在于,所述第一自定义额外信息或所述第二自定义额外信息包括加密加签算法信息,所述第二应用利用所述加密加签算法信息对所述第一签名信息进行验签和解密。
6.根据权利要求2至4中任一项所述的方法,其特征在于,所述唤起应用跳转协议的参数还包括所述第一应用的签名要素、所述第一参数集。
7.根据权利要求1所述的方法,其特征在于,所述通过唤起应用跳转协议请求唤起第二应用之前,包括:构造所述唤起应用跳转协议,所述唤起应用跳转协议包括协议名、主机名、路径以及参数;
在所述第一应用为第三方应用,且所述第二应用为数字货币应用的情况下,所述协议名、所述主机名、所述路径由所述第二应用提供;
在所述第一应用为数字货币应用,且所述第二应用为第三方应用的情况下,所述协议名、所述主机名、所述路径由所述机构后台系统提供,所述机构后台系统与所述第三方应用关联。
8.根据权利要求1所述的方法,其特征在于,所述回拉应用跳转协议的参数还包括第二参数集,所述第二签名信息是所述机构后台系统对第二要素集合进行加密并加签而生成的,所述第二要素集合包括所述第二参数集;
所述通过所述机构后台系统对所述第二签名信息进行验证,包括:
将所述回拉应用跳转协议的参数发送到所述机构后台系统,由所述机构后台系统对所述第二签名信息进行验签和解密,在所述第二签名信息验签通过,并且解密得到的所述第二要素集合中的第二参数集与从所述回拉应用跳转协议的参数中得到的第二参数集一致的情况下,所述第二签名信息验证通过。
9.一种应用唤起方法,其特征在于,包括:
响应于第一应用通过唤起应用跳转协议发起的对第二应用的唤起请求,获取所述唤起应用跳转协议的参数,所述唤起应用跳转协议的参数包括第一签名信息,所述第一签名信息是在机构后台系统生成的,所述机构后台系统是与所述第一应用或所述第二应用关联的后台系统;
通过所述机构后台系统对所述第一签名信息进行验证,在所述第一签名信息验证通过后,唤起所述第二应用以执行第一业务处理;
将所述第一业务处理的结果通过所述机构后台系统进行签名,得到第二签名信息;
通过回拉应用跳转协议请求唤起所述第一应用,以由所述第一应用执行第二业务处理,所述回拉应用跳转协议的参数包括所述第二签名信息。
10.根据权利要求9所述的方法,其特征在于,所述唤起应用跳转协议的参数还包括第一参数集,所述第一签名信息是所述机构后台系统对第一要素集合进行加密并加签而生成的,所述第一要素集合包括所述第一参数集;
所述通过所述机构后台系统对所述第一签名信息进行验证,包括:
将所述唤起应用跳转协议的参数发送到所述机构后台系统,由所述机构后台系统对所述第一签名信息进行验签和解密,在所述第一签名信息验签通过,并且解密得到的所述第一要素集合中的第一参数集与从所述唤起应用跳转协议的参数中得到的第一参数集一致的情况下,所述第一签名信息验证通过。
11.根据权利要求9所述的方法,其特征在于,所述将所述第一业务处理的结果通过所述机构后台系统进行签名,包括:
将所述第一业务处理的结果作为所述第二应用的业务自定义参数,通过所述机构后台系统对第二要素集合进行加密后签名,所述第二要素集合包括第二公共要素、第二参数集、所述第二应用的业务自定义参数。
12.根据权利要求11所述的方法,其特征在于,所述第二公共要素包括所述第二签名信息的时间戳和有效期;
在所述第一应用为数字货币应用,且所述第二应用为第三方应用的情况下,所述第二参数集包括业务标识符和所述机构后台系统的标识;
在所述第一应用为第三方应用,且所述第二应用为数字货币应用的情况下,所述第二参数集包括所述业务标识符;
其中,所述业务标识符用于所述第一应用执行与所述业务标识符对应的所述第二业务处理。
13.根据权利要求12所述的方法,其特征在于,在所述第一应用为数字货币应用,且所述第二应用为第三方应用的情况下,所述第二参数集还包括所述第二应用的唯一标识和/或第一预设自定义信息;
在所述第一应用为第三方应用,且所述第二应用为数字货币应用的情况下,所述第二参数集还包括第二预设自定义信息。
14.根据权利要求13所述的方法,其特征在于,所述第一预设自定义信息或所述第二预设自定义信息包括加密加签算法信息,所述第一应用利用所述加密加签算法信息对所述第二签名信息进行验签和解密。
15.根据权利要求11至13中任一项所述的方法,其特征在于,所述回拉应用跳转协议的参数还包括所述第二要素集合、所述第二参数集。
16.根据权利要求9所述的方法,其特征在于,所述通过回拉应用跳转协议请求唤起所述第一应用之前,包括:构造所述回拉应用跳转协议,所述回拉应用跳转协议包括协议名、主机名、路径以及参数;
在所述第一应用为第三方应用,且所述第二应用为数字货币应用的情况下,所述协议名、所述主机名、所述路径由所述机构后台系统提供,所述机构后台系统与所述第三方应用关联;
在所述第一应用为数字货币应用,且所述第二应用为第三方应用的情况下,所述协议名、所述主机名、所述路径由所述第一应用提供。
17.一种应用唤起装置,其特征在于,包括:
签名要素上传模块,用于将第一应用的签名要素上传到机构后台系统进行签名,得到第一签名信息;
第二应用唤起模块,用于通过唤起应用跳转协议请求唤起第二应用,以由所述第二应用执行第一业务处理,所述唤起应用跳转协议的参数包括所述第一签名信息;
回拉应用参数获取模块,用于响应于所述第二应用通过回拉应用跳转协议发起的对所述第一应用的唤起请求,获取所述回拉应用跳转协议的参数,所述回拉应用跳转协议的参数包括第二签名信息,所述第二签名信息是通过所述机构后台系统生成的;
第一应用唤起模块,用于通过所述机构后台系统对所述第二签名信息进行验证,在所述第二签名信息验证通过后,唤起所述第一应用以执行第二业务处理,所述机构后台系统是与所述第一应用或所述第二应用关联的后台系统。
18.一种应用唤起装置,其特征在于,包括:
唤起应用参数获取模块,用于响应于第一应用通过唤起应用跳转协议发起的对第二应用的唤起请求,获取所述唤起应用跳转协议的参数,所述唤起应用跳转协议的参数包括第一签名信息,所述第一签名信息是在机构后台系统生成的,所述机构后台系统是与所述第一应用或所述第二应用关联的后台系统;
第二应用唤起执行模块,用于通过所述机构后台系统对所述第一签名信息进行验证,在所述第一签名信息验证通过后,唤起所述第二应用以执行第一业务处理;
签名信息获取模块,用于将所述第一业务处理的结果通过所述机构后台系统进行签名,得到第二签名信息;
第一应用唤起执行模块,用于通过回拉应用跳转协议请求唤起所述第一应用,以由所述第一应用执行第二业务处理,所述回拉应用跳转协议的参数包括所述第二签名信息。
19.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1-16中任一所述的方法。
20.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-16中任一所述的方法。
CN202111252623.4A 2021-10-27 2021-10-27 一种应用唤起方法和装置 Pending CN116028120A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111252623.4A CN116028120A (zh) 2021-10-27 2021-10-27 一种应用唤起方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111252623.4A CN116028120A (zh) 2021-10-27 2021-10-27 一种应用唤起方法和装置

Publications (1)

Publication Number Publication Date
CN116028120A true CN116028120A (zh) 2023-04-28

Family

ID=86076640

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111252623.4A Pending CN116028120A (zh) 2021-10-27 2021-10-27 一种应用唤起方法和装置

Country Status (1)

Country Link
CN (1) CN116028120A (zh)

Similar Documents

Publication Publication Date Title
US9483328B2 (en) System and method for delivering application content
CN107249004B (zh) 一种身份认证方法、装置及客户端
CN107888656B (zh) 服务端接口的调用方法和调用装置
CN112039826B (zh) 应用于小程序端的登录方法和装置,电子设备,可读介质
CN106357699A (zh) 网络系统、服务平台、服务平台登录方法及系统
WO2023005838A1 (zh) 数据共享方法和电子设备
CN110839004A (zh) 访问认证的方法和装置
CN111784887A (zh) 一种用户访问的授权放行方法、装置以及系统
CN113572763B (zh) 数据处理方法、装置、电子设备及存储介质
CN114049122A (zh) 一种业务处理方法和系统
CN113129008A (zh) 数据处理方法、装置、计算机可读介质及电子设备
CN110751467B (zh) 一种数字货币的生成方法及系统
CN112788600B (zh) 蓝牙设备间实现认证以及安全连接的方法和装置
CN116028120A (zh) 一种应用唤起方法和装置
CN110098921A (zh) 验证码生成方法、装置、应用服务端和系统
CN110781523B (zh) 用于处理信息的方法和装置
CN114186994A (zh) 一种数字货币钱包应用的使用方法、终端及系统
CN113723961A (zh) 一种移动支付方法
CN113761566A (zh) 一种数据处理方法和装置
CN116112172B (zh) Android客户端gRPC接口安全校验的方法和装置
CN114826616B (zh) 数据处理方法、装置、电子设备和介质
CN110611656B (zh) 一种基于主身份多重映射的身份管理方法、装置及系统
CN110602076B (zh) 一种基于主身份多重认证的身份使用方法、装置及系统
CN110602074B (zh) 一种基于主从关联的业务身份使用方法、装置及系统
CN115630249A (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