CN112764942A - 跨应用通信的方法、跨应用通信的装置及电子设备 - Google Patents
跨应用通信的方法、跨应用通信的装置及电子设备 Download PDFInfo
- Publication number
- CN112764942A CN112764942A CN202011589491.XA CN202011589491A CN112764942A CN 112764942 A CN112764942 A CN 112764942A CN 202011589491 A CN202011589491 A CN 202011589491A CN 112764942 A CN112764942 A CN 112764942A
- Authority
- CN
- China
- Prior art keywords
- application
- target
- information
- communication
- communication parameters
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/543—User-generated data transfer, e.g. clipboards, dynamic data exchange [DDE], object linking and embedding [OLE]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
Abstract
本发明实施例提供了一种跨应用通信的方法、跨应用通信的装置及电子设备。该方法应用于安装有第一应用和第二应用的电子设备,该方法包括:在第一应用中触发与第二应用相关联的目标控件的情况下,控制第一应用发送目标请求,并将目标信息存储至电子设备的目标存储位置。目标信息至少包括通信参数;根据目标请求将第二应用调整为前台运行状态;控制第二应用获取目标存储位置处的目标信息;控制第二应用根据其获取的目标信息中的通信参数执行预设操作。本发明将携带有通信参数的目标信息存储在电子设备的目标存储位置,在将第二应用调整为前台运行状态后,控制第二应用从目标存储位置获取通信参数,避免将通信参数添加到目标请求中产生的安全隐患。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种跨应用通信的方法、跨应用通信的装置及电子设备。
背景技术
电子设备上的跨应用通信指的是安装于同一电子设备上的不同应用之间的通信,其可以满足更多的场景需求。
目前,常用的跨应用通信是将由应用A触发调起方法,并将通信数据添加到调起方法中,进而由系统根据调起方法调起应用B,并将通信数据发送至应用B,从而实现应用A与应用B的通信。例如,在苹果(iOS)系统中,若应用A将自己的scheme名称注册为“schemeA”,那么当在其他应用中通过调用苹果的系统方法openUrl,并将“schemeA”作为统一资源定位器(uniform resource locator,URL)的协议头,那么将直接调起应用A,若要将一些信息同样传给应用A的话可以继续在URL中拼接其他参数。
然而,针对上述跨应用通信方式,可以通过hook(钩子)轻易的实现对通信数据的篡改,使得上述跨应用通信方式存在较大的安全隐患。
发明内容
鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的跨应用通信的方法、跨应用通信的装置及电子设备。
第一方面,本发明实施例提供了一种跨应用通信的方法,应用于电子设备,其中,所述电子设备安装有第一应用和第二应用,所述方法包括:
在所述第一应用中触发与所述第二应用相关联的目标控件的情况下,控制所述第一应用发送目标请求,并将目标信息存储至所述电子设备的目标存储位置;其中,所述目标请求用于将所述第二应用调整为前台运行状态;所述目标信息至少包括对应所述目标控件的通信参数;
根据所述目标请求将所述第二应用调整为前台运行状态;
控制所述第二应用获取所述目标存储位置处的所述目标信息;
控制所述第二应用根据其获取的所述目标信息中的通信参数执行预设操作。
可选地,所述目标请求携带有预设身份信息,所述目标信息还包括所述预设身份信息;
所述控制所述第二应用根据其获取的所述目标信息中的通信参数执行预设操作,包括:
在所述第二应用获取的所述目标信息中包括与所述预设身份信息相同的身份信息的情况下,控制所述第二应用根据其获取的所述目标信息中的通信参数执行预设操作。
可选地,在所述第二应用获取的所述目标信息中未包括与所述预设身份信息相同的身份信息的情况下,禁止所述第二应用根据其获取的所述目标信息中的通信参数执行预设操作。
可选地,所述将目标信息存储至所述电子设备的目标存储位置,包括:
获取对应所述目标控件的通信参数;
采用预设加密算法对所述通信参数进行加密生成加密信息;
将所述加密信息作为目标信息,存储至所述电子设备的目标存储位置。
第二方面,本发明实施例还提供一种跨应用通信的装置,应用于电子设备,其中,所述电子设备安装有第一应用和第二应用,所述装置包括:
第一通信模块,用于在所述第一应用中触发与所述第二应用相关联的目标控件的情况下,控制所述第一应用发送目标请求,并将目标信息存储至所述电子设备的目标存储位置;其中,所述目标请求用于将所述第二应用调整为前台运行状态;所述目标信息至少包括对应所述目标控件的通信参数;
调起模块,用于根据所述目标请求将所述第二应用调整为前台运行状态;
获取模块,用于控制所述第二应用获取所述目标存储位置处的所述目标信息;
第二通信模块,用于控制所述第二应用根据其获取的所述目标信息中的通信参数执行预设操作。
可选地,所述目标请求携带有预设身份信息,所述目标信息还包括所述预设身份信息;
所述第二通信模块,具体用于在所述第二应用获取的所述目标信息中包括与所述预设身份信息相同的身份信息的情况下,控制所述第二应用根据其获取的所述目标信息中的通信参数执行预设操作。
可选地,所述装置还包括:
禁止模块,用于在所述第二应用获取的所述目标信息中未包括与所述预设身份信息相同的身份信息的情况下,禁止所述第二应用根据其获取的所述目标信息中的通信参数执行预设操作。
可选地,所述第一通信模块,包括:
获取单元,用于获取对应所述目标控件的通信参数;
加密单元,用于采用预设加密算法对所述通信参数进行加密生成加密信息;
存储单元,用于将所述加密信息作为目标信息,存储至所述电子设备的目标存储位置。
第三方面,本发明实施例还提供一种电子设备,该电子设备包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述的跨应用通信的方法的步骤。
第四方面,本发明实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的跨应用通信的方法中的步骤。
在本发明实施例中,在第一应用中触发与第二应用相关联的目标控件进行跨应用通信过程中,控制第一应用发送目标请求的同时,将携带有对应目标控件的通信参数的目标信息存储在电子设备的目标存储位置,进而在将第二应用调整为前台运行状态后,控制第二应用从目标存储位置获取通信参数,并执行预设操作,避免将通信参数添加到目标请求中产生的安全隐患,即避免使用hook方式随意进行通信参数的篡改。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的跨应用通信的方法的步骤流程图;
图2为本发明实施例提供的跨应用通信的方法的实际应用示意图;
图3为本发明实施例提供的跨应用通信的装置的结构框图;
图4为本发明实施例提供的电子设备的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。
在本发明的各种实施例中,应理解,下述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
参见图1,本发明实施例提供了一种跨应用通信的方法,应用于电子设备,其中,电子设备安装有第一应用和第二应用,该方法包括:
步骤101:在第一应用中触发与第二应用相关联的目标控件的情况下,控制第一应用发送目标请求,并将目标信息存储至电子设备的目标存储位置。
应当说明的是,第一应用和第二应用为安装于同一电子设备上的任意两款不同的应用。目标请求用于将第二应用调整为前台运行状态。控制第一应用发送目标请求,可以理解为通过第一应用调起第二应用。其中,不同系统的电子设备中目标请求具有不同的结构形式。例如在具有iOS系统的电子设备中,该目标请求为调用iOS系统的openUrl的方法,生成的拼接有第二应用的scheme名称的请求,例如第二应用的scheme名称为schemeA,则目标请求可以为:“schemeA://XXXXXXX”。
目标信息至少包括对应目标控件的通信参数,这里,由第一应用中的目标控件触发跨应用通信,因此可以将对应目标控件的通信参数添加到目标信息中,作为需要传递至第二应用的数据。通信参数为根据跨应用通信场景确定的数据。例如在购物场景中,通信参数包括指示第二应用执行页面展示的操作指令和商品标识。目标请求和目标信息通过不同的渠道进行传输,使得目标请求中无需携带所有数据,这样,即使目标请求被篡改也不会造成实质影响,提升数据安全性。这里,目标存储位置为电子设备中第一应用和第二应用均可以自由访问的一固定位置。这里,第一应用和第二应用可以访问指的是,第一应用和第二应用具有访问该固定位置的访问权限。其中,访问权限即为读和写的权限,既可以读取目标存储位置中的数据,也可以向目标存储位置写入数据。可选地,可以通过配置具体的路径信息,来设置目标存储位置的具体位置。较佳地,目标存储位置可以为电子设备中用于存放公共数据或者共享数据的存储位置,例如可以为电子设备的剪贴板,即剪贴板上的数据在电子设备中对应的存储位置,但不限于此。
步骤102:根据目标请求将第二应用调整为前台运行状态。
应当说明的是,电子设备在检测到目标请求时,将目标请求指示的第二应用调整为前台运行状态,并将目标请求或者目标请求中拼接的参数发送至第二应用。电子设备将显示前台运行状态下的第二应用中的界面,同时第一应用将停止运行或调整为后台运行状态。
步骤103:控制第二应用获取目标存储位置处的目标信息。
应当说明的是,第一应用和第二应用均具有访问电子设备的目标存储位置的权限。其中,访问的权限可以理解为为读和写的权限,这里不再赘述。因此,第一应用可以访问目标存储位置,将目标信息存储至目标存储位置。第二应用可以访问目标存储位置,并从目标存储位置读取目标信息。
步骤104:控制第二应用根据其获取的目标信息中的通信参数执行预设操作。
应当说明的是,可以预先设定通信参数与操作的对应关系,不同通信参数对应不同的操作,从而在根据通信参数执行操作时,执行该通信参数对应的操作即可。这里,通信参数、操作以及两者的对应关系,可以根据不同的应用场景自行设定。例如在购物场景中,预先设定不同通信参数对应打开不同页面的操作。具体的,预先设定通信参数包括:第二应用中某一页面的页面标识以及某一商品的商品标识,第二应用根据通信参数中的页面标识打开对应的页面,并在页面中加载商品标识对应的商品信息。在支付场景中,预先设定不同通信参数对应向不同账户付款的操作,这里不再赘述。
本发明实施例中,在第一应用中触发与第二应用相关联的目标控件进行跨应用通信过程中,控制第一应用发送目标请求的同时,将携带有对应目标控件的通信参数的目标信息存储在电子设备的目标存储位置,进而在将第二应用调整为前台运行状态后,控制第二应用从目标存储位置获取通信参数,并执行预设操作,避免将通信参数添加到目标请求中产生的安全隐患,即避免使用hook方式随意进行通信参数的篡改。
可选地,目标请求携带有预设身份信息,目标信息还包括预设身份信息;
控制第二应用根据其获取的目标信息中的通信参数执行预设操作,包括:
在第二应用获取的目标信息中包括与预设身份信息相同的身份信息的情况下,控制第二应用根据其获取的目标信息中的通信参数执行预设操作。
应当说明的是,预设身份信息可以为第一应用和第二应用预先协商的唯一标识。例如第一应用预先向第二应用进行注册,第二应用生成对应第一应用的唯一标识,并发送至第一应用。当然,第一应用和第二应用预先协商身份信息的方式并不限于上述注册一种方式。还可以通过其他电子设备或者应用,针对每一应用生成一对应的唯一标识,进而将唯一标识发送至跨应用通信的双方,或者由人工配置的方式,配置到跨应用通信的双方。该唯一标识可以为数字、字母、特殊符号或者三者的任意组合。值得注意的是,目标请求中携带有预设身份信息,从而可以将目标请求添加到目标信息中。
下面以一具体实例进行说明:
用户在使用第一应用过程中,通过触发目标控件,生成一用于将第二应用调整为前台运行状态的预设数据格式的请求,同时获取自身的身份信息,并将身份信息添加到上述预设数据格式的请求中,生成目标请求。第一应用还将对应目标控件的通信参数以及自身的身份信息作为目标信息存储至第二应用可以自由访问的目标存储位置中。
电子设备的系统检测到该目标请求之后,将调起第二应用,即将第二应用调整为前台运行状态,并关闭第一应用或者将第一应用调整为后台运行状态。将目标请求或者目标请求中的身份信息发送至第二应用。
第二应用在被调起之后,从目标存储位置中读取目标信息,并将目标信息中的身份信息与目标请求中的身份信息进行比对,若两个身份信息一致,可以认为获取的目标信息为第一应用存储至目标存储位置的信息,该目标信息合法,可以根据目标信息中的通信参数执行预设操作。
当然,也可能存在其他情况,例如两个身份信息也可能不一致,目标请求中未携带身份信息,目标信息中未包含身份信息等。此时可以认为获取的目标信息不是第一应用存储至目标存储位置的信息,该目标信息不合法拒绝执行任何操作。具体的,在第二应用获取的目标信息中未包括与预设身份信息相同的身份信息的情况下,禁止第二应用根据其获取的目标信息中的通信参数执行预设操作。
上述实施过程中,不仅通过两个渠道分别传输目标请求和目标信息,同时将第一应用的身份信息分别添加到目标请求和目标信息中,从而方便第二应用进行身份校验,只有在目标请求和目标信息中的身份信息一致的情况下,认为本次跨应用通信合法,可以根据目标信息中的通信参数执行预设操作,否则拒绝执行任何操作。
可选地,还可以在第二应用获取的目标信息中未包括与预设身份信息相同的身份信息的情况下,显示身份信息异常的提示信息。
应当说明的是,可以通过消息提示或者悬浮框的方式在第二应用前台运行过程中,显示该提示信息。从而方便用户及时获知具体情况。当然,第二应用获取的目标信息中未包括与预设身份信息相同的身份信息指的是目标信息中未包含任何身份信息或者包含的身份信息与目标请求中的身份信息不一致。
可选地,将目标信息存储至电子设备的目标存储位置,包括:
获取对应目标控件的通信参数。
本步骤中,在所述第一应用中触发与所述第二应用相关联的目标控件的情况下,自动获取对应目标控件的通信参数,这里,通信参数为预先设置的对应目标控件的参数。其中,通信参数由跨应用通信场景决定。例如在购物场景中,通信参数包括指示第二应用执行页面展示的操作指令和商品标识,但不限于此。
采用预设加密算法对通信参数进行加密生成加密信息。
本步骤中,预设加密算法为第一应用和第二应用协商好的加密算法,即第一应用通过协商好的加密算法对数据进行加密后生成加密数据,第二应用通过协商好的解密算法对加密数据进行解密,得到加密前的数据。这里的加密算法可以为对称加密算法或非对称加密算法。为进一步提升数据通信过程中的安全性,采用非对称加密算法对通信参数进行加密生成加密信息。即采用公钥-私钥对中的公钥对通信参数进行加密,第二应用可以采用对应公钥的私钥对加密后的通信参数进行解密,得到加密前的通信参数。这样,即使公钥泄露给第三方,第三方也无法使用公钥对加密后的通信参数进行解密,即无法得到加密前的通信参数,保证了通信的安全性。
将加密信息作为目标信息,存储至电子设备的目标存储位置。
应当说明的是,电子设备的目标存储位置中存储有加密后的通信参数,即使第三方从目标存储位置得到了相关数据,由于数据已被加密,第三方无法轻易获知加密前的通信参数。
本发明实施例中,将加密后的通信参数作为目标信息存储在电子设备的目标存储位置,第二应用从目标存储位置获取加密后的通信参数,并根据协商好的算法对加密后的通信参数进行解密,得到加密前的通信参数。其他人员即使得到该加密后的通信参数也无法轻易破译,从而可以进一步提升目标信息泄露和被篡改的难度,提升数据通信的安全性。
可选地,针对上述目标请求携带预设身份信息以及目标信息还包括预设身份信息的实施例,还可以采用加密的方式与其进行结合。具体的,在将目标信息存储至目标存储位置前,分别对目标信息中的预设身份信息和通信参数,采用预设加密算法进行加密,得到第一身份密文和通信参数密文。这样第二应用在获取目标信息之后,将第一身份密文解密后的身份信息与目标请求中的身份信息进行比较,若身份信息一致,说明获取的目标信息为第一应用存储至目标存储位置的信息,该目标信息合法,可以根据目标信息中的通信参数执行预设操作,则对通信参数密文进行解密,并根据解密后的通信参数执行预设操作。
当然在对目标信息中的预设身份信息和通信参数进行加密时,可以将两者作为一个整体进行加密,从而得到一个加密后的密文。这样第二应用在对该密文进行解密后将同时得到加密前的预设身份信息和加密前的通信参数。
采用密文的方式传输身份信息,可以提升身份信息泄露和被篡改的难度,提升数据通信过程中的安全性。其中,预设加密算法为第一应用和第二应用协商好的加密算法,这里的加密算法可以为对称加密算法或非对称加密算法。为进一步提升数据通信过程中的安全性,采用非对称加密算法进行加密。即采用公钥-私钥对中的公钥进行加密。第二应用可以采用对应公钥的私钥对加密后的密文进行解密,得到加密前的数据。这样,即使公钥泄露给第三方,第三方也无法使用公钥对加密后的密文进行解密,即无法得到加密前的数据,保证了通信的安全性。
下面再以一具体实例进行说明。
用户在使用第一应用过程中,通过触发目标控件,生成一用于将第二应用调整为前台运行状态的预设数据格式的请求,同时获取自身的身份信息,并将身份信息添加到上述预设数据格式的请求中,生成目标请求。第一应用还将使用预设加密算法对通信参数以及自身的身份信息分别进行加密,得到通信参数密文和身份信息密文,并将两者作为目标信息存储至第二应用可以自由访问的目标存储位置中。值得注意的是,可以在对第一应用的身份信息进行加密时,可以直接对身份信息进行加密,也可以对携带有身份信息的目标请求进行加密。
电子设备的系统检测到该目标请求之后,将调起第二应用,即将第二应用调整为前台运行状态,并关闭第一应用或者将第一应用调整为后台运行状态。将目标请求或者目标请求中的身份信息发送至第二应用。
第二应用在被调起之后,从目标存储位置中读取目标信息,对目标信息中的身份信息密文进行解密,得到加密前的身份信息。这里,第一应用和第二应用预先协商各自的加解密算法,使得第一应用加密后的数据,可以被第二应用成功解密。在得到加密前的身份信息之后,将其与目标请求中的身份信息进行比对,若两个身份信息一致,可以认为获取的目标信息为第一应用存储至目标存储位置的信息,该目标信息合法,可以根据目标信息中的通信参数执行预设操作。值得注意的是,若身份信息密文为对携带有身份信息的目标请求进行加密后的密文,则在进行身份信息比较时,可以将密文解密后与目标请求进行比较。
当然,也可能存在其他情况,例如两个身份信息也可能不一致,目标请求中未携带身份信息,目标信息中未包含身份信息等。此时可以认为获取的目标信息不是第一应用存储至目标存储位置的信息,该目标信息不合法拒绝执行任何操作。具体的,在第二应用获取的目标信息中未包括与预设身份信息相同的身份信息的情况下,禁止第二应用根据其获取的目标信息中的通信参数执行预设操作。
上述实施过程中,不仅通过两个渠道分别传输目标请求和目标信息,同时将第一应用的身份信息分别添加到目标请求和目标信息中,并且目标信息中的身份信息采用密文的方式传输,从而在实现身份校验的同时,提升了通信的安全性。
如图2所示,为本发明实施例提供的一种跨应用通信的方法的实际应用示意图,其中应用A即为上述发明实施例中的第一应用,应用B即为上述发明实施例中的第二应用,电子设备安装有iOS系统,该方法包括:
步骤201:应用A向应用B申请身份标识tokenA,并内置应用B的加密公钥R。身份标识tokenA为唯一标识。
应当说明的是,身份标识tokenA为应用A的身份信息,可以采用注册的方式向应用B申请,但不限于此。其中,身份信息可以为数字、字母、特殊符号中的至少一种组成的唯一识别标识。公钥R即为预设加密算法,第一应用和第二应用预先协商加解密算法,使得第一应用加密后的数据,可以被第二应用成功解密。采用应用B的加密公钥R加密的数据,可以使用对应该公钥R的私钥成功解密。这里,采用的是非对称加密方式,还可以采用对称加密方式对其进行替换,这里仅以非对称加密方式进行说明。
步骤202:应用A拼接调起URL,将身份标识tokenA拼接在调起URL中。
应当说明的是,调起URL即为将第二应用调整为前台运行状态的目标请求。通过拼接的方式将身份信息添加到目标请求中。具体的,拼接后的调起URL为:“schemeB://id123456789”,其中“id123456789”就是应用A的身份标识tokenA。schemeB为应用B在系统中注册的名称,协议头为schemeB的请求将调起应用B。
步骤203:将调起URL采用公钥R加密,生成参数A,将需要传递的剩余参数使用公钥R加密,生成参数B。其中,生成参数A时,可以采用对调起URL中的身份标识tokenA采用公钥R加密,生成参数A的方案进行替换。这里,需要传递的剩余参数可以理解为上述各发明实施例中的目标信息,这里不再赘述。
步骤204:将参数A、参数B存入剪贴板,并利用scheme调起方式调起应用B。
应当说明的是,剪贴板即为上述各发明实施例中的目标存储位置。本发明实施例中仅以目标存储位置为剪贴板为例进行说明,目标存储位置不限于剪贴板。这里,利用scheme调起方式调起应用B,即为系统根据调起URL将应用B调整为前台运行状态,同时将应用A调整为后台运行状态或停止运行应用A。
步骤205:应用B读取剪贴板上的数据,并采用私钥对参数A进行解密,比较解密后的数据与scheme调起时传递的参数。
应当说明的是,剪贴板存在两个加密数据即参数A和参数B,可以先对参数A进行解密,得到调起URL或者直接得到身份标识。若应用A对调起URL加密得到参数A,则解密后直接得到调起URL;若应用A对身份标识加密得到参数A,则解密后直接得到身份标识。这里,应用B解密用的私钥与应用A进行加密的公钥R为一密码对,公钥R进行加密后的数据,可以采用私钥成功解密。
步骤206:判断解密后的数据与scheme调起时传递的参数是否相同,若相同则执行步骤207,若不同则执行步骤208。
应当说明的是,在解密参数A得到调起URL后从中截取身份标识,将其与scheme调起时传递的身份标识进行比较。
步骤207:应用B采用私钥对参数B进行解密,并根据解密得到的数据执行预设操作。
步骤208:身份异常,显示提示信息。
上述实施过程中,同时利用调起URL和本地剪贴板两种渠道,实现目标请求和目标信息的分别传输,提升数据传输的安全性;同时将应用A的身份信息分别添加到目标请求和目标信息中,并且目标信息中的身份信息采用密文的方式传输,从而在实现身份校验的同时,进一步提升了通信的安全性。
以上介绍了本发明实施例提供的跨应用通信的方法,下面将结合附图介绍本发明实施例提供的跨应用通信的装置。
参见图3,本发明实施例还提供了一种跨应用通信的装置,应用于电子设备,其中,电子设备安装有第一应用和第二应用,该装置包括:
第一通信模块31,用于在第一应用中触发与第二应用相关联的目标控件的情况下,控制第一应用发送目标请求,并将目标信息存储至电子设备的目标存储位置;其中,目标请求用于将第二应用调整为前台运行状态;目标信息至少包括对应目标控件的通信参数;
调起模块32,用于根据目标请求将第二应用调整为前台运行状态;
获取模块33,用于控制第二应用获取目标存储位置处的目标信息;
第二通信模块34,用于控制第二应用根据其获取的目标信息中的通信参数执行预设操作。
可选地,目标请求携带有预设身份信息,目标信息还包括预设身份信息;
第二通信模块34,具体用于在第二应用获取的目标信息中包括与预设身份信息相同的身份信息的情况下,控制第二应用根据其获取的目标信息中的通信参数执行预设操作。
可选地,该装置还包括:
禁止模块,用于在第二应用获取的目标信息中未包括与预设身份信息相同的身份信息的情况下,禁止第二应用根据其获取的目标信息中的通信参数执行预设操作。
可选地,第一通信模块31,包括:
获取单元,用于获取对应目标控件的通信参数;
加密单元,用于采用预设加密算法对通信参数进行加密生成加密信息;
存储单元,用于将加密信息作为目标信息,存储至电子设备的目标存储位置。
本发明实施例提供的跨应用通信的装置能够实现图1的方法实施例中跨应用通信的方法实现的各个过程,为避免重复,这里不再赘述。
本发明的实施例中,在第一应用中触发与第二应用相关联的目标控件进行跨应用通信过程中,控制第一应用发送目标请求的同时,将携带有对应目标控件的通信参数的目标信息存储在电子设备的目标存储位置,进而在将第二应用调整为前台运行状态后,控制第二应用从目标存储位置获取通信参数,并执行预设操作,避免将通信参数添加到目标请求中产生的安全隐患,即避免使用hook方式随意进行通信参数的篡改。
另一方面,本发明实施例还提供了一种电子设备,包括存储器、处理器、总线以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述跨应用通信的方法中的步骤。
举个例子如下,图4示出了一种电子设备的实体结构示意图。
如图4所示,该电子设备可以包括:处理器(processor)410、通信接口(Communications Interface)420、存储器(memory)430和通信总线440,其中,处理器410,通信接口420,存储器430通过通信总线440完成相互间的通信。处理器410可以调用存储器430中的逻辑指令,以执行如下方法:
在第一应用中触发与第二应用相关联的目标控件的情况下,控制第一应用发送目标请求,并将目标信息存储至电子设备的目标存储位置;其中,目标请求用于将第二应用调整为前台运行状态;目标信息至少包括对应目标控件的通信参数;
根据目标请求将第二应用调整为前台运行状态;
控制第二应用获取目标存储位置处的目标信息;
控制第二应用根据其获取的目标信息中的通信参数执行预设操作。
此外,上述的存储器430中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
再一方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的跨应用通信的方法,例如包括:
在第一应用中触发与第二应用相关联的目标控件的情况下,控制第一应用发送目标请求,并将目标信息存储至电子设备的目标存储位置;其中,目标请求用于将第二应用调整为前台运行状态;目标信息至少包括对应目标控件的通信参数;
根据目标请求将第二应用调整为前台运行状态;
控制第二应用获取目标存储位置处的目标信息;
控制第二应用根据其获取的目标信息中的通信参数执行预设操作。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种跨应用通信的方法,应用于电子设备,其中,所述电子设备安装有第一应用和第二应用,其特征在于,所述方法包括:
在所述第一应用中触发与所述第二应用相关联的目标控件的情况下,控制所述第一应用发送目标请求,并将目标信息存储至所述电子设备的目标存储位置;其中,所述目标请求用于将所述第二应用调整为前台运行状态;所述目标信息至少包括对应所述目标控件的通信参数;
根据所述目标请求将所述第二应用调整为前台运行状态;
控制所述第二应用获取所述目标存储位置处的所述目标信息;
控制所述第二应用根据其获取的所述目标信息中的通信参数执行预设操作。
2.根据权利要求1所述的方法,其特征在于,所述目标请求携带有预设身份信息,所述目标信息还包括所述预设身份信息;
所述控制所述第二应用根据其获取的所述目标信息中的通信参数执行预设操作,包括:
在所述第二应用获取的所述目标信息中包括与所述预设身份信息相同的身份信息的情况下,控制所述第二应用根据其获取的所述目标信息中的通信参数执行预设操作。
3.根据权利要求2所述的方法,其特征在于,在所述第二应用获取的所述目标信息中未包括与所述预设身份信息相同的身份信息的情况下,禁止所述第二应用根据其获取的所述目标信息中的通信参数执行预设操作。
4.根据权利要求1所述的方法,其特征在于,所述将目标信息存储至所述电子设备的目标存储位置,包括:
获取对应所述目标控件的通信参数;
采用预设加密算法对所述通信参数进行加密生成加密信息;
将所述加密信息作为目标信息,存储至所述电子设备的目标存储位置。
5.一种跨应用通信的装置,应用于电子设备,其中,所述电子设备安装有第一应用和第二应用,其特征在于,所述装置包括:
第一通信模块,用于在所述第一应用中触发与所述第二应用相关联的目标控件的情况下,控制所述第一应用发送目标请求,并将目标信息存储至所述电子设备的目标存储位置;其中,所述目标请求用于将所述第二应用调整为前台运行状态;所述目标信息至少包括对应所述目标控件的通信参数;
调起模块,用于根据所述目标请求将所述第二应用调整为前台运行状态;
获取模块,用于控制所述第二应用获取所述目标存储位置处的所述目标信息;
第二通信模块,用于控制所述第二应用根据其获取的所述目标信息中的通信参数执行预设操作。
6.根据权利要求5所述的装置,其特征在于,所述目标请求携带有预设身份信息,所述目标信息还包括所述预设身份信息;
所述第二通信模块,具体用于在所述第二应用获取的所述目标信息中包括与所述预设身份信息相同的身份信息的情况下,控制所述第二应用根据其获取的所述目标信息中的通信参数执行预设操作。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
禁止模块,用于在所述第二应用获取的所述目标信息中未包括与所述预设身份信息相同的身份信息的情况下,禁止所述第二应用根据其获取的所述目标信息中的通信参数执行预设操作。
8.根据权利要求5所述的装置,其特征在于,所述第一通信模块,包括:
获取单元,用于获取对应所述目标控件的通信参数;
加密单元,用于采用预设加密算法对所述通信参数进行加密生成加密信息;
存储单元,用于将所述加密信息作为目标信息,存储至所述电子设备的目标存储位置。
9.一种电子设备,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述计算机程序被所述处理器执行时实现如权利要求1至4中任一项所述的跨应用通信的方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1至4中任一项所述的跨应用通信的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011589491.XA CN112764942A (zh) | 2020-12-28 | 2020-12-28 | 跨应用通信的方法、跨应用通信的装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011589491.XA CN112764942A (zh) | 2020-12-28 | 2020-12-28 | 跨应用通信的方法、跨应用通信的装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112764942A true CN112764942A (zh) | 2021-05-07 |
Family
ID=75696884
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011589491.XA Pending CN112764942A (zh) | 2020-12-28 | 2020-12-28 | 跨应用通信的方法、跨应用通信的装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112764942A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114237755A (zh) * | 2021-12-20 | 2022-03-25 | 百度在线网络技术(北京)有限公司 | 应用运行方法、装置、电子设备以及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100049853A1 (en) * | 2004-12-15 | 2010-02-25 | Guard Insurance Group | Electronic device and remote computer system and method for controlling remote communications |
CN104040538A (zh) * | 2012-12-18 | 2014-09-10 | 华为技术有限公司 | 一种互联网应用交互方法、装置及系统 |
CN105912191A (zh) * | 2016-03-31 | 2016-08-31 | 北京奇虎科技有限公司 | 实现终端设备的应用间交互的方法和装置 |
CN106919634A (zh) * | 2016-06-12 | 2017-07-04 | 阿里巴巴集团控股有限公司 | 跨应用共享数据的方法及网页浏览器 |
CN111078233A (zh) * | 2019-11-19 | 2020-04-28 | 腾讯科技(深圳)有限公司 | 一种应用推广的实现方法、装置、设备及存储介质 |
-
2020
- 2020-12-28 CN CN202011589491.XA patent/CN112764942A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100049853A1 (en) * | 2004-12-15 | 2010-02-25 | Guard Insurance Group | Electronic device and remote computer system and method for controlling remote communications |
CN104040538A (zh) * | 2012-12-18 | 2014-09-10 | 华为技术有限公司 | 一种互联网应用交互方法、装置及系统 |
CN105912191A (zh) * | 2016-03-31 | 2016-08-31 | 北京奇虎科技有限公司 | 实现终端设备的应用间交互的方法和装置 |
CN106919634A (zh) * | 2016-06-12 | 2017-07-04 | 阿里巴巴集团控股有限公司 | 跨应用共享数据的方法及网页浏览器 |
CN111078233A (zh) * | 2019-11-19 | 2020-04-28 | 腾讯科技(深圳)有限公司 | 一种应用推广的实现方法、装置、设备及存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114237755A (zh) * | 2021-12-20 | 2022-03-25 | 百度在线网络技术(北京)有限公司 | 应用运行方法、装置、电子设备以及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107294937B (zh) | 基于网络通信的数据传输方法、客户端及服务器 | |
CN105553951B (zh) | 数据传输方法和装置 | |
CN111654367B (zh) | 密码运算、创建工作密钥的方法、密码服务平台及设备 | |
CN111245802B (zh) | 数据传输安全控制方法、服务器以及终端 | |
CN108566381A (zh) | 一种安全升级方法、装置、服务器、设备和介质 | |
US8495383B2 (en) | Method for the secure storing of program state data in an electronic device | |
CN108600222B (zh) | 客户端应用与可信应用的通信方法、系统以及终端 | |
CN106788989B (zh) | 一种建立安全加密信道的方法及设备 | |
CN105915342A (zh) | 一种应用程序通信处理系统、设备、装置及方法 | |
CN106899571B (zh) | 信息交互方法及装置 | |
CN108347419A (zh) | 数据传输方法和装置 | |
CN103986723B (zh) | 一种保密通信控制、保密通信方法及装置 | |
CN111131416A (zh) | 业务服务的提供方法和装置、存储介质、电子装置 | |
CN111178884A (zh) | 信息处理方法、装置、设备及可读存储介质 | |
CN104917807A (zh) | 资源转移方法、装置和系统 | |
CN109075962A (zh) | 用于使用动态公钥基础设施发送和接收加密的消息的方法、系统和介质 | |
CN105407467B (zh) | 短消息加密方法、装置和系统 | |
CN111914291A (zh) | 消息处理方法、装置、设备及存储介质 | |
CN106549757B (zh) | Web服务的数据真伪识别方法、服务端和客户端 | |
CN114465803A (zh) | 对象授权方法、装置、系统及存储介质 | |
CN114338201B (zh) | 数据处理方法及其装置、电子设备及存储介质 | |
CN103997405B (zh) | 一种密钥生成方法及装置 | |
CN115314313A (zh) | 信息加密方法、装置、存储介质及计算机设备 | |
CN114499837B (zh) | 一种报文防泄露方法、装置、系统和设备 | |
CN112764942A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210507 |
|
RJ01 | Rejection of invention patent application after publication |