I am in the stage of requirements for creating a Java EE application that will most likely run on the GlassFish / JBoss backend (it doesn't matter now). I know that I should not think about architecture during requirements, but it is impossible not to begin to imagine how all components will be combined :-)
Here are some tough, inflexible client-side requirements:
(1) Client application will be Swing box
(2) The client is free to download, but will use the subscription model (this requires a login mechanism with authentication / authorization on the server side, etc.)
(3) Yes, Java is the best solution to solve this problem for reasons beyond the scope of this post.
(4) Client .class files need protection against decompilation
This last (fourth) requirement is the basis of this post.
I'm really not worried that someone is really decompiling and getting my source code: after all, it's just a Swing control driven by some easy business logic.
I am worried about the scenario when someone decompiles my code, modifies it to use / attack the server, recompile and run it.
I foresaw all kinds of unpleasant solutions, but did not know if this was a common problem with a common solution for Java EE developers. Any thoughts?
Not interested in code obfuscation methods
Thanks for any input!
java security
Eugie
source share