小程序启动方法、签名方法、装置、服务器及介质与流程

文档序号:22324731发布日期:2020-09-25 17:52阅读:170来源:国知局
小程序启动方法、签名方法、装置、服务器及介质与流程

本说明书实施例涉及计算机技术领域,尤其涉及一种小程序启动方法、签名方法、装置、服务器及介质。



背景技术:

随着科学技术的不断发展以及用户需求的日渐增加,电子设备的功能越来越丰富。小程序,作为一种不需要安装即可使用的应用,已经得到了广泛使用,用户可以通过扫一扫或者搜索小程序即可打开应用,无需安装及卸载,大大满足了用户的需求。



技术实现要素:

本说明书实施例提供一种小程序启动方法、签名方法、装置、服务器及介质。

第一方面,本说明书实施例提供一种小程序启动方法,包括:

在检测到启动目标小程序的操作时,向小程序服务端请求下载所述目标小程序的离线包,所述离线包中包括与所述目标小程序对应的签名文件以及所述目标小程序的数据包;

获取所述目标小程序对应的公钥;

基于所述公钥以及所述数据包,对所述签名文件进行验签,获得验签结果;

在所述验签结果为验签通过时,加载所述离线包,以启动所述目标小程序。

第二方面,本说明书实施例提供一种小程序离线包签名方法,应用于小程序服务端,包括:

在接收到针对目标小程序离线包的签名请求时,确定与所述目标小程序对应的私钥;

基于所述私钥,生成与所述目标小程序对应的签名文件;

在接收到终端设备发送的所述目标小程序的离线包的下载请求时,将所述离线包发送给所述终端设备,所述离线包中包括所述签名文件以及所述目标小程序的数据包。

第三方面,本说明书实施例提供一种小程序启动装置,应用于终端设备,所述装置包括:

第一获取模块,用于在检测到启动目标小程序的操作时,向小程序服务端请求下载所述目标小程序的离线包,所述离线包中包括与所述目标小程序对应的签名文件以及所述目标小程序的数据包;

第二获取模块,用于获取所述目标小程序对应的公钥;

验签模块,用于基于所述公钥以及所述数据包,对所述签名文件进行验签,获得验签结果;

启动模块,用于在所述验签结果为验签通过时,加载所述离线包,以启动所述目标小程序。

第四方面,本说明书实施例提供一种小程序离线包签名装置,应用于小程序服务端,包括:

获取模块,用于在接收到针对目标小程序离线包的签名请求时,确定与所述目标小程序对应的私钥;

签名模块,用于基于所述私钥,生成与所述目标小程序对应的签名文件;

离线包发送模块,用于在接收到终端设备发送的所述目标小程序的离线包的下载请求时,将所述离线包发送给所述终端设备,所述离线包中包括所述签名文件以及所述目标小程序的数据包。

第五方面,本说明书实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行上述小程序启动方法的步骤。

第六方面,本说明书实施例提供一种服务器,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行上述小程序离线包签名方法的步骤。

第七方面,本说明书实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一项所述方法的步骤。

本说明书实施例有益效果如下:

本说明书实施例提供的方法,在检测到启动目标小程序的操作时,在小程序服务端上下载目标小程序的离线包,离线包中包括目标小程序对应的签名文件和数据包,通过获取目标小程序的公钥,并基于公钥和数据包对签名文件进行验签,在验签通过时,加载离线包,以启动目标小程序。上述方案中,通过对离线包的签名文件进行验签,能够有效保证离线包的安全性,避免他人对离线包的篡改。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本说明书的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1为本说明书实施例第一方面提供的一种小程序启动方法的流程图;

图2为本说明书实施例提供的一种小程序启动方法的交互图;

图3为本说明书实施例第二方面提供的一种小程序离线包签名方法的流程图;

图4为本说明书实施例第三方面提供的一种小程序启动装置的流程图;

图5为本说明书实施例第四方面提供的一种小程序离线包签名装置的示意图;

图6为本说明书实施例第六方面提供的服务器的示意图。

具体实施方式

为了更好的理解上述技术方案,下面通过附图以及具体实施例对本说明书实施例的技术方案做详细的说明,应当理解本说明书实施例以及实施例中的具体特征是对本说明书实施例技术方案的详细的说明,而不是对本说明书技术方案的限定,在不冲突的情况下,本说明书实施例以及实施例中的技术特征可以相互组合。

本说明书实施例中,小程序在开发、发布以及使用的过程中会涉及到多个平台及设备的交互,包括但不限于小程序开发平台、小程序服务端、用户终端设备。其中,小程序开发平台用于小程序开发者对小程序进行开发,生成小程序的离线包,在小程序开发完成后,小程序开发平台将开发完成后的小程序的离线包上传到小程序服务端,当用户在终端设备中运行小程序时,可以通过终端设备与小程序服务端之间的交互来完成小程序的启动和功能实现。

第一方面,本说明书实施例提供一种小程序启动方法,应用于终端设备中,例如用户的手机、平板电脑等电子设备中。如图1所示,为本说明书实施例提供的一种小程序启动方法的流程图,该方法包括以下步骤:

步骤s12:在检测到启动目标小程序的操作时,向小程序服务端请求下载目标小程序的离线包,离线包中包括与目标小程序对应的签名文件以及目标小程序的数据包;

步骤s14:获取目标小程序对应的公钥;

步骤s16:基于公钥以及数据包,对签名文件进行验签,获得验签结果;

步骤s18:在验签结果为验签通过时,加载离线包,以启动目标小程序。

本说明书实施例中,用户的终端设备中安装有目标应用,小程序可以接入目标应用中,即用户在启动小程序时,首先打开目标应用,然后通过目标应用的扫一扫功能、搜索功能、或者点击目标应用上的小程序的图标等操作来启动小程序。目标小程序可以是接入目标应用的任意小程序,目标操作可以是上述启动小程序操作中的任一操作,在检测到目标操作后,终端设备向小程序服务端发送离线包下载请求,小程序服务端在接收到终端设备发送的针对目标小程序的离线包下载请求后,将目标小程序的离线包返回至终端设备。

小程序在开发的过程中,可以将全部代码以及资源打包成一个完整包,此时,离线包即为小程序的完整包,当用户在终端设备通过完整包运行小程序时,有可能会由于完整包过大,导致加载时间较长,终端设备会出现长较时间的白屏,当网络环境较差时,还会导致加载失败。因此,可以将小程序的代码和资源进行分包,构建一个主包以及n个分包,n为正整数。其中,主包中的数据包括放置默认启动页面、tabbar页面、所有分包都需要用到的公共资源、js脚本等,分包可以根据开发者的配置进行划分,或者根据小程序服务端对小程序分包的规则进行划分。

本说明书实施例中,在小程序的离线包为分包结构时,终端设备会先向小程序服务端请求下载主包并启动主包内的页面,当用户需要进入分包的某个页面时,终端设备会请求下载对应的分包,下载完成后再进行该页面的展示。

为了确保离线包的安全性,本说明书实施例中,在开发目标小程序时,会生成目标小程序的签名文件,对于完整包来说,可以生成一个签名文件,对于分包结构来说,针对主包和每个分包,分别生成对应的签名文件。其中,数据签名文件可以是通过私钥对目标小程序离线包二进制流数据的摘要信息进行签名得到的。

另外,离线包除了签名文件,还包括数据包、版本信息等数据,数据包中包含有压缩的对应的页面数据,版本信息可以为小程序接入的目标应用的版本信息,不同版本的目标应用,支持加载的离线包类型可以不同,例如旧版本的目标应用支持完整包的加载,新版本的目标应用支持主包和分包的加载。也就是说,离线包可以看做是将小程序的在线页面的压缩包、版本信息和签名文件组合压缩成zip包的产物。

进一步的,终端设备在下载了目标小程序的离线包之后,根据获取到的公钥对离线包中的签名文件进行验签。公钥可以是终端设备向小程序服务端请求获取的,也可以是将公钥集成到接入目标小程序的目标应用中,通过目标应用得到的,这里不做限定。

根据公钥以及数据包对签名文件进行验签,当验签结果为验签通过时,将离线包进行解压并加载渲染解压后的数据,将数据包中包含的启动页面进行展示,以实现目标小程序的启动过程。

本说明书实施例中的方案,通过对离线包的签名文件进行验签,能够有效的保证离线包安全性,避免他人对离线包的篡改,另外,在采用分包结构的离线包启动小程序时,由于在启动时仅需要下载主包,大大减小了小程序离线资源包的大小,提高了下载速度已经下载成功率,能够实现小程序启动界面秒开的效果。

在具体实施过程中,步骤s12可以通过以下方式实现:接收与目标小程序对应的目标站点发送的公钥,公钥为目标站点在入驻小程序服务端时,通过小程序服务端为目标站点分配公私钥对,并将公私钥对中的公钥发送给目标站点获得的。

本说明书实施例中,针对接入目标小程序的目标应用来说,可以对应有一个站点,以目标应用为支付应用a为例,若支付应用a可以在多个国家使用,对于每个国家,均可以设置有一个与支付应用a对应的站点,例如,对于中国区域的支付应用a,对应有中国站点,对于印度区域的支付应用a,对应有印度站点。对于不同的区域站点,还可以有各自的小程序服务端与之相对应,例如,中国站点对应有中国区域的小程序服务端,印度站点对应有印度区域的小程序服务端,当然,不同区域的站点也可以均对应同一个小程序服务端,这里不做限定。

当站点在入驻对应的小程序服务端时,小程序服务端为该站点分配一组公私钥对,其中,将公钥反馈至该站点,将私钥保存在小程序服务端上并用于后续的签名文件的生成。应理解的是,对于接入目标应用的小程序来说,均可以使用小程序服务端为站点分配的公钥进行签名操作,当然,对于不同的小程序来说,小程序服务端还可以为每个小程序分配各自的公私钥对,以使每个小程序根据各自的公钥进行签名,这里不做限定。

以小程序服务端为目标小程序对应的目标站点分配公私钥对为例,在目标站点接收到公钥之后,可以将公钥集成在目标应用中,当终端设备下载目标应用后,用户打开目标应用运行目标小程序时,可以通过目标应用获取到公钥。或者,目标站点在接收到小程序服务端发送的公钥后,将公钥发送给终端设备上的目标应用,以使目标小程序在运行过程中使用该公钥进行验签。

进一步的,终端设备在下载了目标小程序的离线包之后,使用公钥对目标小程序的离线包进行验签,在具体实施过程中,验签过程可以通过以下方式实现:基于公钥对签名文件进行解密处理,得到第一摘要信息;根据数据包的路径,获取离线包的二进制流数据;基于签名文件对应的摘要提取方式,对离线包的二进制流数据进行摘要提取,得到第二摘要信息;通过将第一摘要信息与第二摘要信息进行比对,确定验签结果,其中,在第一摘要信息与第二摘要信息相同时,验签结果为验签通过。在第一摘要信息与第二摘要信息不相同时,验签结果为验签未通过,此时,可以重新请求下载离线包,也可以不进行任何操作,并返回离线包被篡改等风险信息。

具体来讲,目标小程序的离线包至少包含有签名文件以及数据包,其中,在生成签名文件时,首先对目标小程序的离线包二进制流数据进行摘要提取,如通过sha-1(securehashalgorithm1,安全散列算法1)计算出摘要信息,然后利用私钥对摘要信息进行签名,生成签名文件。

为了确保下载的离线包未被篡改,本说明说实施例中,在获取到离线包之后,通过公钥对签名文件进行解密,得到第一摘要信息,然后,通过数据包的存储路径,读取离线包的二进制流数据,并采用签名过程中使用的摘要提取方式对离线包的二进制流数据进行摘要提取,得到第二摘要信息。若第一摘要信息与第二摘要信息相同,则验签通过,表明离线包是安全的,未被篡改过的。若第一摘要信息与第二摘要信息不同,则验签失败,表明离线包被篡改过,是不安全的。

本说明书实施例中,为了保证传输过程中签名文件内容的完整性,在通过私钥生成签名文件之后,可以对该签名文件按照预设编码方式编码,例如,通过base64编码方式进行编码,将编码后的签名文件打包到离线包中,作为离线包中的最终签名文件。因此,本说明书实施例中,在对目标小程序的离线包进行验签时,可以根据以下方式进行验签:根据与预设编码方式对应的解码方式,对签名文件进行解码,得到解码后的签名文件;基于公钥以及数据包,对解码后的签名文件进行验签,获得验签结果。

在具体实施过程中,在获取到目标小程序的离线包之后,在离线包中提取出签名文件,然后对签名文件进行解密,例如,如果签名文件为经过base64编码得到的文件,则对签名文件进行base64解码,得到解码后的解码后的签名文件,然后再利用公钥对解码后的签名文件进行验签,具体的验签过程可参考上述描述,这里就不再赘述了。

本说明书实施例中,为了能够快速启动目标小程序,可以将目标小程序的离线包构建为主包加分包的形式。具体来讲,将目标小程序的全部代码和资源划分到不同的包中,其中,主包中放置默认启动页面、tabbar页面、所有分包都需要用到的公共资源、js脚本等,分包根据开发者的配置进行划分,或者根据小程序服务端对小程序分包的规则进行划分。在启动目标小程序时,会先下载主包,加载主包内页面,当进入分包内某个页面时,才会将对应的分包下载并进行展示。

对于主包和分包的构建,可以遵循以下原则:如果是小程序开发者进行分包配置,则按照开发者分包配置的路径进行打包,分包配置路径外的目录将被默认打包到主包中;启动页面和tabbar的所有页面均需要放在主包中;每个分包的根目录不能是其他分包内的子目录;分包之间不能相互引用对方包中的资源(比如图片和js脚本等),分包可以引用主包和自己包内的资源;分包和主包是分别独立打包的,同一个js模块会在主包和分包中分别存在。

对于分包大小的限制可以根据实际需要进行设定,例如,整个小程序的所有分包大小不超过4mb,单个分包或主包大小不超过2mb。

因此,本说明书实施例中,当目标小程序对应多个离线包,多个离线包由一个主包和n个分包构成时(n为正整数),步骤s11具体包括:向小程序服务端请求下载目标小程序的主包,主包包括主包签名文件以及主包数据包,主包数据包中包含有目标小程序的启动页面数据。

具体来讲,当目标小程序的离线包为主包加分包结构时,在检测到启动目标小程序的操作后,在小程序服务端下载目标小程序的主包,并根据主包中的主包签名文件以及主包数据包对主包进行验签,在验签通过后,对主包中包含的启动页面进行加载,以实现目标小程序的启动。

进一步的,在通过主包启动目标小程序之后,还包括以下步骤:在检测到进入目标页面的操作时,向小程序服务端请求下载与目标页面对应的目标分包,目标页面为与目标小程序的启动页面不同的页面,目标分包包括分包签名文件以及分包数据包,分包数据包含有目标页面的数据;基于公钥以及分包数据包,对分包签名文件进行验签,获得分包验签结果;在分包验签结果为验签通过时,加载目标页面。

具体来讲,当主包的启动页面加载成功后,用户可以通过点击启动页面上的目标页面对应的图标或链接,跳转到目标页面,此时,向小程序服务端下载目标页面所在的目标分包,其中,目标分包包含有分包签名文件以及分包数据包,通过公钥对分包签名文件进行验签,具体的验签过程可以参考之前的描述,这里不再赘述了,当目标分包验签成功后,加载目标分包中的目标页面。另外,为了保证主包或分包在传输过程的完整性,对于主包或分包中的签名文件,也可以是经过预设编码方式编码后的文件。

综上,本说明书实施例中的方案,当目标小程序的离线包为主包加分包结构时,针对每个主包和分包,均有各自的签名文件,这样就可以通过对每个签名文件进行验签,来判断该主包或分包是否被篡改,确保了离线包的安全性。

为了更好的理解本说明书实施例中的小程序启动方法,以目标应用为钱包app为例,对小程序启动方法的流程进行说明,请参考图2,为接入钱包app的小程序启动方法的交互图,在该交互过程中,用户的终端设备中安装有钱包app,以及目标小程序运行所需要的容器,该实施例中,容器可以为h5容器,当然也可以采用其他容器,这里仅做举例说明,不做限定。

如图2所示,交互流程包括以下步骤:

步骤001:钱包app对应的站点入驻小程序服务端;

步骤002:小程序服务端计算生成该站点的公私钥对;

步骤003:小程序服务端将公钥发送给该站点;

步骤004:站点将公钥发送给钱包app;

步骤005:用户打开钱包app;

步骤006:钱包app初始化小程序配置,将公钥传入容器;

步骤007:用户通过钱包app打开目标小程序;

步骤008:容器向小程序服务端请求小程序配置;

步骤009:小程序服务端返回小程序配置给容器;

步骤010:容器向小程序服务端请求下载目标小程序的离线包;

步骤011:小程序服务端返回目标小程序的离线包;

步骤012:解压目标小程序的离线包;

步骤013:读取离线包中的签名文件;

步骤014:通过base64对签名文件解码,得到目标签名数据;

步骤015:使用离线包中的数据包、公钥以及目标签名数据进行验签比对;

步骤016:如果验签通过,加载并渲染离线包中的数据;

步骤017:展示数据;

步骤018:如果验签通过,但数据加载失败,则将报错页面返回给钱包app;

步骤019:如果验签失败,将验签失败的结果展示给用户。

在具体实施过程中,小程序服务端返回的小程序配置中包含有数据包tar、签名文件cert.json、版本信息manifest.xml,这三个文件均包含在离线包中,在解压离线包之后,可以得到上述三个文件,在通过公钥对签名文件进行验签,得到验签结果,并根据验签结果进行页面展示。

为了更好的理解本说明书实施例中的小程序启动方法,下面从小程序开发、发布、使用的全过程来进行说明。仍以目标程序为钱包app为例,钱包app在开发、发布、使用的全过程中涉及到用户、小程序开发平台、小程序服务端、国际配置推送服务中心、钱包app、以及容器之间的交互。

具体来讲,接入钱包app的小程序开发过程为:小程序开发者在小程序开发平台中进行小程序的开发,生成离线包;小程序开发平台判断离线包大小是否超出限制条件,若离线包超出限制条件,则通知小程序开发者对小程序进行分包划分,在进行分包划分时,可以通过开发者自定义功能进行划分,也可以通过小程序开发平台自动划分;小程序开发平台将满足限制条件的离线包进行编译,并根据小程序服务端提供的私钥生成签名文件;小程序开发平台对离线包进行编译组装时,可以获取钱包app的版本信息,在版本信息为新版本时,离线包为分包结构,为每个主包和分包生成签名文件,对不同的包进行编译组装;在版本信息为旧版本时,离线包为完整包,为完整包生成签名文件,并进行完整包编译的组装;将编译组装好的离线包(分包结构和/或完整包)上传到小程序服务端。

进一步的,小程序服务端将接收到的离线包投递到国际配置推送服务中心,进行发布。国际配置推送服务中心根据版本信息将离线包投递到钱包app的客户端,即在版本信息为新版本时,只投递主包到客户端,在版本信息为旧版本时,投递完整的离线包到客户端,以使客户端下载对应的离线包。

在小程序启动过程中,用户点击打开小程序,创建并打开容器,若离线包为分包结构,则容器加载主包,并对主包签名文件进行验签,在验签通过时,加载主包资源,若加载成功,渲染页面并将页面通过钱包app展示给用户,若加载页面失败,将展示失败页面展示给用户;在验签失败时,将展示失败页面展示给用户。若离线包为完整包,则容器加载完整包,并对完整包的签名文件进行验签,在验签通过时,加载完整包资源,若加载成功,渲染页面并将页面展示给用户,若加载页面失败,将展示失败页面展示给用户;在验签失败时,将展示失败页面展示给用户。进一步的,在用户点击其他页面时,若离线包为分包结构,则容器加载该页面对应的分包,并对分包签名文件进行验签,在验签通过时,加载分包资源,若加载成功,渲染页面并将页面展示给用户,若加载页面失败,将展示失败页面展示给用户;在验签失败时,将展示失败页面展示给用户。

综上,本说明书实施例中的方案,通过对离线包的签名文件进行验签,能够有效的保证离线包安全性,避免他人对离线包的篡改,另外,在采用分包结构的离线包启动小程序时,由于在启动时仅需要下载主包,大大减小了小程序离线资源包的大小,提高了下载速度已经下载成功率,能够实现小程序启动界面秒开的效果。

第二方面,本说明书实施例提供一种小程序离线包签名方法,应用于小程序服务端,如图3所示,为小程序离线包签名方法的流程图,该方法包括以下步骤。

步骤s32:在接收到针对目标小程序离线包的签名请求时,确定与目标小程序对应的私钥;

步骤s34:基于私钥,生成与目标小程序对应的签名文件;

步骤s36:在接收到终端设备发送的目标小程序的离线包的下载请求时,将离线包发送给终端设备,离线包中包括签名文件以及目标小程序的数据包。

在具体实施过程中,小程序开发者在小程序开发平台上进行目标小程序的开发,在开发过程中,需要生成目标小程序的签名文件,小程序开发平台可以向小程序服务端请求与目标小程序对应的私钥。

在确定了目标小程序对应的私钥后,小程序服务端可以根据该私钥对目标小程序的离线包进行签名,得到签名文件,或者将私钥发送给开发平台,以生成签名文件,这里不做限定。

基于签名文件,生成目标小程序的离线包,并在终端设备请求下载离线包时,小程序服务端将离线包发送给终端设备。

在一种可选实现方式中,在接收到针对目标小程序离线包的签名请求时,确定与目标小程序对应的私钥之前,方法还包括:

在接收到目标站点的入驻请求时,为目标站点分配公私钥对,目标站点为与目标小程序对应的站点;

将公私钥对中的公钥发送给目标站点。

关于上述方法,其中各个步骤的具体功能实现已经在本说明书实施例提供的小程序启动方法的实施例中进行了详细描述,此处将不做详细阐述说明。

第三方面,基于同一发明构思,本说明书实施例提供一种小程序启动装置,应用于终端设备,请参考图4,该装置包括:

第一获取模块41,用于在检测到启动目标小程序的操作时,向小程序服务端请求下载目标小程序的离线包,离线包中包括与目标小程序对应的签名文件以及目标小程序的数据包;

第二获取模块42,用于获取目标小程序对应的公钥;

验签模块43,用于基于公钥以及数据包,对签名文件进行验签,获得验签结果;

启动模块44,用于在验签结果为验签通过时,加载离线包,以启动目标小程序。

在一种可选实现方式中,第二获取模块42,用于:

接收与目标小程序对应的目标站点发送的公钥,公钥为目标站点在入驻小程序服务端时,通过小程序服务端为目标站点分配公私钥对,并将公私钥对中的公钥发送给目标站点获得的。

在一种可选实现方式中,验签模块43,用于:

基于公钥对签名文件进行解密处理,得到第一摘要信息;

根据数据包的路径,获取离线包的二进制流数据;

基于签名文件对应的摘要提取方式,对离线包的二进制流数据进行摘要提取,得到第二摘要信息;

通过将第一摘要信息与第二摘要信息进行比对,确定验签结果,其中,在第一摘要信息与第二摘要信息相同时,验签结果为验签通过。

在一种可选实现方式中,签名文件为经过预设编码方式编码后的文件,验签模块43,用于:

根据与预设编码方式对应的解码方式,对签名文件进行解码,得到解码后的签名文件;

基于公钥以及数据包,对解码后的签名文件进行验签,获得验签结果。

在一种可选实现方式中,目标小程序对应多个离线包,多个离线包由一个主包和n个分包构成,n为正整数,第一获取模块41,用于:

向小程序服务端请求下载目标小程序的主包,主包包括主包签名文件以及主包数据包,主包数据包中包含有目标小程序的启动页面数据。

在一种可选实现方式中,装置还包括:

第三获取模块,用于在检测到进入目标页面的操作时,向小程序服务端请求下载与目标页面对应的目标分包,目标页面为与目标小程序的启动页面不同的页面,目标分包包括分包签名文件以及分包数据包,分包数据包含有目标页面的数据;

验签模块,用于基于公钥以及分包数据包,对分包签名文件进行验签,获得分包验签结果;

页面加载模块,用于在分包验签结果为验签通过时,加载目标页面。

关于上述装置,其中各个模块的具体功能已经在本说明书实施例提供的小程序启动方法的实施例中进行了详细描述,此处将不做详细阐述说明。

第四方面,基于同一发明构思,本说明书实施例提供一种小程序离线包签名装置,应用于小程序服务端,如图5所示,装置包括:

获取模块51,用于在接收到针对目标小程序离线包的签名请求时,确定与目标小程序对应的私钥;

签名模块52,用于基于私钥,生成与目标小程序对应的签名文件;

离线包发送模块53,用于在接收到终端设备发送的目标小程序的离线包的下载请求时,将离线包发送给终端设备,离线包中包括签名文件以及目标小程序的数据包。

在一种可选实现方式中,装置还包括:

处理模块,用于在接收到目标站点的入驻请求时,为目标站点分配公私钥对,目标站点为与目标小程序对应的站点;

公钥发送模块,用于将公私钥对中的公钥发送给目标站点。

关于上述装置,其中各个模块的具体功能已经在本说明书实施例提供的小程序启动方法的实施例中进行了详细描述,此处将不做详细阐述说明。

第五方面,基于与前述实施例中小程序启动方法同样的发明构思,本说明书实施例还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现前文所述小程序启动的步骤。

第六方面,基于与前述实施例中小程序离线包签名方法同样的发明构思,本说明书实施例还提供一种服务器,如图6所示,包括存储器404、处理器402及存储在存储器404上并可在处理器402上运行的计算机程序,所述处理器402执行所述程序时实现前文所述小程序离线包签名方法的步骤。

其中,在图6中,总线架构(用总线400来代表),总线400可以包括任意数量的互联的总线和桥,总线400将包括由处理器402代表的一个或多个处理器和存储器404代表的存储器的各种电路链接在一起。总线400还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口406在总线400和接收器401和发送器403之间提供接口。接收器401和发送器403可以是同一个元件,即收发机,提供用于在传输介质上与各种其他装置通信的单元。处理器402负责管理总线400和通常的处理,而存储器404可以被用于存储处理器402在执行操作时所使用的数据。

第七方面,基于与前述实施例中基于小程序启动方法、小程序离线包签名方法的发明构思,本说明书实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前文所述小程序启动方法、小程序离线包签名方法中任一方法的步骤。

本说明书是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的设备。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令设备的制造品,该指令设备实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本说明书的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本说明书范围的所有变更和修改。

显然,本领域的技术人员可以对本说明书进行各种改动和变型而不脱离本说明书的精神和范围。这样,倘若本说明书的这些修改和变型属于本说明书权利要求及其等同技术的范围之内,则本说明书也意图包含这些改动和变型在内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1