您当前的位置:   首页 > 新闻中心
Sentinel LDK Envelope 保护JAVA 程序的说明
发布时间:2018-12-28 10:18:39   阅读次数:

Sentinel LDK 版本的Envelope 工具可以支持保护J2EE 架构的应用程序,目前支持Tomcat(6.0.29 或更高版本), Jboss7.1 从LDK6.4 版本开始提供支持。此文档以LDK7.3 和tomcat 为例演示对java 程序的加密操作。


1、加密前的准备


Envelope所在电脑已经安装了Jre或者JDK环境。

LDK套件自带安装Jre环境,如果在非套件安装PC上加密,请手动安装Jre环境:对64位系统,请同时安装x64和x86两个版本的Jre,对32位系统请手动安装x86版本的Jre。

在保护jar或者war文件之前,请先运行MASterwizard,导出开发商库。

如果加密war包,请将war里面所有属于第三方的jar包和.class文件都移出备份,待加密完成后再将移出的部分导入(如果调用了LDK的API接口,请将LDK API接口封装包hasp-srm-api.jar也移出备份)


2、使用Sentinel LDK Envelope 工具对jar 或war 包进行保护


将要保护的文件加入envelope 工具,如图所示,在General 项中会显示已经解析的所有方法,请先选择要加密的方法进行测试:

(Envelope 提供了全选select  all 和全不选clear all 的功能,并且可以在Search list 中通过关键字搜索对应的方法。对于一些较大的文件,合理的选择要加密的方法,可以有效的提高运行效率和加密成功率,关于方法选择的建议,请参考envelope 的帮助文档已经release 文档中的限制条件)

Sentinel LDK Envelope 保护JAVA 程序的说明(图1)

在高级设置中,将MESSAGE_OUTPUT_MODE 设置为(stderr)true,如下图,

(选择stderr 是因为某些系统没有GUI 图形环境,程序运行时抛出的提示信息无法显示导致应用启动失败,否则也可以使用windows 模式)

Sentinel LDK Envelope 保护JAVA 程序的说明(图2)

加密war 包时此处默认选中为stderr,加密jar 包时需要手动设置。

点击左侧“Sentinel Vendor Code”,选择自己的开发号。

Sentinel LDK Envelope 保护JAVA 程序的说明(图3)


部署加密后的文件

Jar 包和war 包的加密输出并不相同,下面分别演示两种文件的部署方式:

加密后的jar 包(此处以加密standard-1.1.2.jar 作为演示):

加密后,输出目录下一般会产生下面这些文件。

Sentinel LDK Envelope 保护JAVA 程序的说明(图4)


对于tomcat 下面的应用,jar 包通常是放置在应用目录下的\WEB-INF\lib 内,此处先将DGC 文件添加 .jar 后缀,然后与加密的standard-1.1.2.jar 以及额外三个safenet-*.jar 包,共同部署到应用目录\WEB-INF\lib 下面。

加密后的war 包(此处以helloWorld.war 作为演示):

Sentinel LDK Envelope 保护JAVA 程序的说明(图5)

war 包加密后,产生的文件相对较少,此处只需要将原来移出的jar 包和.class 文件重新加入,部署时将safenet-sentinel-hasp-api-j2ee.jar 放入$CATALINA_HOME/lib 目录下

以上为加密后的jar 包和war 包部署方式,为了能让加密后的java 程序正常工作,还需要部署底层的native 库,即加密后产生的一些dll 文件,通常有两对(32 位和64 为版本)共四个:

Windows 平台:

HASPJava.dll

hasp_windows_82130.dll

HASPJava_x64.dll

hasp_windows_x64_82130.dll


Linux 平台:

libHASPJava.so

libhasp_linux_82130.so

libHASPJava_x86_64.so

libhasp_linux_x64_82130.so

(linux 上的开发商库需要单独在linux 平台上运行masterhasp 工具导出,LDK 套件中已有文档说明,此处不再赘述)


这些库文件需要放置到java 程序所能识别的路径中,例如:$CATALINA_HOME/bin,$JAVA_HOME/bin,/usr/lib,/usr/lib64 或者windows 的系统路径c:\windows\system32,c:\windows\sysWoW64 等,如果部署后运行仍然提示H0400 错误(没有找到开发商库),请在环境变量中添加 LD_LIBRARY_PATH 变量,并将开发商库(名称中带数字的库)所在目录路径赋给此变量。


提示:java 程序加密的限制条件,请参考LDK 的release 文档和envelope 的帮助文档,如果加密后出现未知的异常,请联系揽阁信息,以为您提供技术支持。


揽阁信息可提供的部分安全产品和解决方案信息

联系揽阁信息,您可以获取到更多满足全球合规性要求的信息安全产品资料,以及相关的整体解决方案的相关资料。如:


您还可以得到揽阁信息所提供的优质服务。

揽阁信息 · 值得您信赖的信息安全顾问!


相关阅读

购买咨询电话
021-54410609