加密/解密java类,并使用自定义类加载器在tomcat中实现和部署

时间:2013-06-12 12:27:07

标签: java tomcat encryption classloader

我有一个与我们部署到tomcat中的类文件捆绑在一起的应用程序war。 我将在客户端位置服务器上部署应用程序,其中不同的人可以访问它。

我希望代码安全,以便没有人可以使用类反编译器查看类文件。 我对混淆不太感兴趣,因为它会使日志记录变得困难,这将涉及更改非java资源文件(因为类名,变量和方法都会更新)。 我已经搜索了其他选项,例如在war中加密类文件,然后编写一个自定义类加载器,它将在朗姆酒时解密类并加载类。

我能够编写一个自定义类加载器,它将读取一个jar文件并加载这些类 http://kalanir.blogspot.in/2010/01/how-to-write-custom-class-loader-to.html

但我无法找到这将如何与tomcat一起使用。 我们还有任何教程来解释我们如何加密类文件,一个自定义类加载器将解密此类,配置自定义类加载器,以便当我的应用程序在tomcat中运行时,它应该能够加载所需的类。 / p>

1 个答案:

答案 0 :(得分:2)

你可以从中获得帮助 http://cryptofreek.org/2010/06/04/encrypting-and-decrypting-files-with-java/ 关于加密和解密类文件。

在给定的示例中:http://kalanir.blogspot.in/2010/01/how-to-write-custom-class-loader-to.html 要在tomcat中加载类,只需创建一个带有父类加载器作为参数的构造函数

public JarClassLoader(ClassLoader parent) {
super(parent);
}

并且在初始化JarClassLoader时将tomcat的类加载器作为参数传递。

 new JarClassLoader(<CurrentClass>.class.getClassLoader());