logo好方法网

一种jar包的加解密方法、装置、终端设备和存储介质


技术摘要:
本申请适用于信息安全技术领域,提出一种jar包的加解密方法、装置、终端设备和存储介质。在本申请中,jar包加解密使用的密钥文件在生成后存储于服务器端的密钥管理平台,终端本地可以采用java agent工具向该密钥管理平台发送请求,从而获取该密钥文件并完成该jar包的加  全部
背景技术:
为了保护代码数据的安全,开发人员在完成一个jar包的开发后,通常需要对该 jar包进行加密。目前,对jar包进行加密的方法主要是基于jar包内资源的加密以及通过拓 展ClassLoader来实现,这种加密方式无需侵入代码,完全由内存执行,具有较高的安全性。 然而,用于加解密的密钥文件或字串的保存和使用是一个问题,难以保证该密钥文件的安 全。
技术实现要素:
有鉴于此,本申请提出一种jar包的加解密方法、装置、终端设备和存储介质,能够 方便地管理用于加解密的密钥文件,提高该密钥文件的安全性。 第一方面,本申请实施例提供了一种jar包的加密方法,包括: 若检测到对待加密的jar包进行打包的操作,则使用java  agent工具对所述打包的操 作进行拦截,然后向服务器端的密钥管理平台发送密钥文件获取请求, 以指示所述密钥管理平台生成并返回所述jar包加解密使用的密钥文件,所述密钥文 件在生成后存储于所述密钥管理平台; 在接收到所述密钥管理平台返回的所述密钥文件之后,采用所述密钥文件对所述jar 包进行加密,并在加密后恢复所述打包的操作,得到所述jar包的加密压缩包文件; 在终端本地生成并保存所述密钥文件的溯源文件,所述溯源文件记录从所述密钥管理 平台获取所述密钥文件的代码逻辑。 jar包加解密使用的密钥文件在生成后存储于服务器端的密钥管理平台,终端本 地可以采用java  agent工具向该密钥管理平台发送请求,从而获取该密钥文件并完成该 jar包的加密操作。另外,通过在终端本地生成并保存该密钥文件的溯源文件,之后当需要 解密该jar包时,可以通过该溯源文件从密钥管理平台查找到该密钥文件。由此可见,本申 请在jar包的加解密过程中,可以方便地管理用于加解密的密钥文件,提高密钥文件的安全 性。 另外,java  agent工具可以作为主操作之前的拦截器,通过该工具对jar包的打包 操作进行拦截,优先执行向密钥管理平台获取密钥文件以及加密jar包的操作,待jar包加 密后,再恢复执行文件打包的操作。通过这样设置,用户在打包一个jar包后,可以自动获得 一个已加密的压缩包文件。 进一步地,所述溯源文件包含所述密钥文件的唯一标识,在终端本地生成并保存 所述密钥文件的溯源文件之后,还包括: 若检测到执行所述溯源文件的操作指令,则向所述密钥管理平台发送密钥文件获取请 4 CN 111737718 A 说 明 书 2/9 页 求,以指示所述密钥管理平台返回与所述唯一标识对应的密钥文件。 当用户想要解压该jar包的加密压缩包文件时,可以点击执行该溯源文件,此时会 向该密钥管理平台发送密钥文件获取请求,以指示该密钥管理平台返回与所述唯一标识对 应的密钥文件,即在终端本地获取到该jar包的密钥文件。 进一步的,所述采用所述密钥文件对所述jar包进行加密可以包括: 提取所述密钥文件中的加密密钥; 采用所述加密密钥对所述jar包进行加密; 删除终端本地接收到的所述密钥文件。 在采用该密钥文件中的加密密钥对该jar包加密之后,可以删除终端本地接收的 该密钥文件,进一步保证该密钥文件的安全。 第二方面,本申请实施例提供了一种jar包的解密方法,包括: 若检测到启动已加密的jar包的操作,则使用java  agent工具对所述启动的操作进行 拦截,然后执行终端本地保存的溯源文件,以从服务器端的密钥管理平台获取所述jar包加 解密使用的密钥文件,所述溯源文件记录从所述密钥管理平台获取所述密钥文件的代码逻 辑,所述溯源文件在所述jar包加密后生成并存储于终端本地,所述密钥文件在所述jar包 加密前生成并存储于所述密钥管理平台; 在从所述密钥管理平台获取到所述密钥文件之后,采用所述密钥文件对所述jar包进 行解密,并在解密后恢复所述启动的操作。 与本申请第一方面提出的jar包的加密方法相对应,在对jar包解密时,可以使用 java  agent工具执行终端本地保存的溯源文件,以从该密钥管理平台查找并获取该jar包 的密钥文件,最后利用该密钥文件完成该jar包的解密操作。 进一步的,所述java  agent工具的启动参数预设为指向所述溯源文件,所述溯源 文件包含所述密钥文件的唯一标识,所述执行终端本地保存的溯源文件,以从服务器端的 密钥管理平台获取所述jar包加解密使用的密钥文件可以包括: 向所述密钥管理平台发送密钥文件获取请求,以指示所述密钥管理平台返回与所述唯 一标识对应的密钥文件; 在接收到所述密钥管理平台返回的所述密钥文件之后,将所述密钥文件存储于终端本 地内存中。 该溯源文件中记录密钥文件的唯一标识,通过该唯一标识可以方便地从该密钥管 理平台找到该jar包加解密使用的密钥文件。在从该密钥管理平台接收到该密钥文件之后, 将该密钥文件保存于终端本地的内存中,以便后续执行jar包解密时使用。 进一步的,所述采用所述密钥文件对所述jar包进行解密可以包括: 提取所述密钥文件中的解密密钥; 采用所述解密密钥对所述jar包进行解密; 删除终端本地接收到的所述密钥文件。 在采用该密钥文件中的解密密钥对该jar包解密之后,可以删除终端本地接收的 该密钥文件,进一步保证该密钥文件的安全。 第三方面,本申请实施例提供了一种jar包的加密装置,包括: 第一密钥文件获取模块,用于若检测到对待加密的jar包进行打包的操作,则使用java  5 CN 111737718 A 说 明 书 3/9 页 agent工具对所述打包的操作进行拦截,然后向服务器端的密钥管理平台发送密钥文件获 取请求,以指示所述密钥管理平台生成并返回所述jar包加解密使用的密钥文件,所述密钥 文件在生成后存储于所述密钥管理平台; Jar包加密模块,用于在接收到所述密钥管理平台返回的所述密钥文件之后,采用所述 密钥文件对所述jar包进行加密,并在加密后恢复所述打包的操作,得到所述jar包的加密 压缩包文件; 溯源文件生成模块,用于在终端本地生成并保存所述密钥文件的溯源文件,所述溯源 文件记录从所述密钥管理平台获取所述密钥文件的代码逻辑。 第四方面,本申请实施例提供了一种jar包的解密装置,包括: 第二密钥文件获取模块,用于若检测到启动已加密的jar包的操作,则使用java  agent 工具对所述启动的操作进行拦截,然后执行终端本地保存的溯源文件,以从服务器端的密 钥管理平台获取所述jar包加解密使用的密钥文件,所述溯源文件记录从所述密钥管理平 台获取所述密钥文件的代码逻辑,所述溯源文件在所述jar包加密后生成并存储于终端本 地,所述密钥文件在所述jar包加密前生成并存储于所述密钥管理平台; Jar包解密模块,用于在从所述密钥管理平台获取到所述密钥文件之后,采用所述密钥 文件对所述jar包进行解密,并在解密后恢复所述启动的操作。 第五方面,本申请实施例提供了一种终端设备,包括存储器、处理器以及存储在所 述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实 现如本申请实施例第一方面提出的jar包的加密方法的步骤,或者实现如本申请实施例第 二方面提出的jar包的解密方法的步骤。 第六方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储 介质存储有计算机程序,所述计算机程序被处理器执行时实现如本申请实施例第一方面提 出的jar包的加密方法的步骤,或者实现如本申请实施例第二方面提出的jar包的解密方法 的步骤。 第七方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在终端 设备上运行时,使得终端设备执行上述第一方面所述的jar包的加密方法的步骤,或者实现 如本申请实施例第二方面提出的jar包的解密方法的步骤。 上述第三方面至第七方面所能实现的有益效果,可以参照上述第一方面和第二方 面的相关说明。 附图说明 为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述 中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些 实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些 附图获得其他的附图。 图1是本申请实施例提供的一种jar包的加密方法的一个实施例的流程图; 图2是本申请实施例提供的一种jar包的解密方法的一个实施例的流程图; 图3是本申请实施例提供的一种jar包的加密装置的一个实施例的结构图; 图4是本申请实施例提供的一种jar包的解密装置的一个实施例的结构图; 6 CN 111737718 A 说 明 书 4/9 页 图5是本申请实施例提供的一种终端设备的示意图。
下载此资料需消耗2积分,
分享到:
收藏