编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

应用部署采用maven扩展插件构建和加密授权保护

wxchong 2024-10-25 17:59:29 开源技术 12 ℃ 0 评论

接上一篇【应用部署采用license进行授权保护】在应用程序开发完成后,为了保护公司或个人软件权益以及达到软件发布的可控范围,我们需要将应用加密技术和license授权保护结合起来才能起到较大的作用,一方面保护核心技术和源码安全,一方面可以控制应用发布的范围,同时约束甲乙双方按照契约的规定进行履约,攻防兼备,常备不懈。如下是一种加密和授权保护的一种方法:

java应用加密部署:通过扩展XJar的应用,基于对JAR包内资源的加密,通过拓展ClassLoader来构建一套程序加密启动, 动态解密运行的方案, 增加程序应用反编译的难度,避免源代码泄露以保护核心代码安全和软件著作权益,同时也能实现软件运行范围的控制,如运用于企业应用,则可协助企业进行项目交付和项目验收可控。

功能特性:

1.无代码侵入,针对Spring Boot应用采用自研扩展Maven加密插件, 可以一键生成加密部署文件

2.采用内存解密, 降低源码以及字节码泄露或反编译的风险

3.可配置加解密算法

4.可配置加解密的字节码范围和资源文件

5.动态生成Go启动器,保护密码不泄露(Go编译后的启动器为二进制可执行文件,无法破解)

6.同时支持windows和linux两种运行环境

7.Go启动器支持启动密码,ip,mac校验,部署包签名校验,保护程序运行的权限和程序运行的范围

Spring Boot应用构建和部署主要流程:

1.项目pom中引入Maven加密扩展插件

2.进行相关加密配置(加密密码,启动密码,加密的字节码和资源范围,启动授权ip,mac,部署文件输出路径,编译环境配置linux/windows)

3.执行maven package构建,将输出一个Go的启动器和一个加密部署包

4.启动Go启动器,输入启动密码,ip,mac校验,加密部署包签名校验

5.加载加密部署包并进行内存解密

6.程序运行

基本原理和流程

maven扩展加密插件

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表