jboss中的加密类加载

jboss中的加密类加载,jboss,classloader,Jboss,Classloader,我们正在使用JBoss5.1部署我们的应用程序。但现在我们想在战争中加密几个类。当我们加密.class文件时,Jboss会抛出错误。这是可以理解的,因为jboss的类加载器不知道该类是加密的。 我想扩展JBoss的类加载功能,并实现在加载之前解密.class文件的代码 我想这一定是可能的。我一直在阅读jboss开发人员手册,但不知道如何才能做到这一点 还有其他人做过类似的事情吗。任何建议或帮助都会很好 谢谢, Irfan这是可能的(尽管需要工作),但有强烈的观点认为它没有真正的意义或提供好处。退

我们正在使用JBoss5.1部署我们的应用程序。但现在我们想在战争中加密几个类。当我们加密.class文件时,Jboss会抛出错误。这是可以理解的,因为jboss的类加载器不知道该类是加密的。 我想扩展JBoss的类加载功能,并实现在加载之前解密.class文件的代码

我想这一定是可能的。我一直在阅读jboss开发人员手册,但不知道如何才能做到这一点

还有其他人做过类似的事情吗。任何建议或帮助都会很好

谢谢, Irfan

这是可能的(尽管需要工作),但有强烈的观点认为它没有真正的意义或提供好处。退房


简而言之,每一个解密类加载器都必须向java运行时提供有文档记录的、清晰的类定义,并且从中任何人都可以轻松地阅读,可以连接java代理,也可以用自己的代码替换rt.jar。

JBoss社区讨论论坛回答了这个问题:


谢谢您。我已经看到了这个链接,是的,我知道加密的类文件必须在某个时候解密,如果有人决定获取源代码,那么他仍然可以这样做。但我只是想让那个人在得到我们的代码之前挣扎一下。我目前正在尝试扩展JBossBaseClassLoader,并在加载类之前实现我们的解密技术。我深深地陷入了这个过程。如果您能告诉我是否还有其他方法(可能比使用jboss jars更容易)@irbash您有什么特别的问题吗?如果我修改了BaseClassLoader(在jboss的lib文件夹中的jboss-classloading-spi.jar中),那么我就不能在jboss 5.1中使用扩展类加载器(我的扩展类加载器在请求jvm加载之前负责解密.class文件)然后在BaseClassLoader的LoadClassLocal方法中进行解密,然后就可以工作了。但是我不想修改jboss jar,因为我不能要求我的客户使用修改过的jboss jar。