How to protect java application

Hello all,
Could you give me some clues on how to protect a java application?
By license keys ? how to protect application by license keys? I am not sure about Signing JAR Files, is it what I need?
Any better way than using license keys to protect a java application?
Thanks.

>
Could you give me some clues on how to protect a java application?
>
You might want to look into obfuscators. They won't stop decompiling but they can make it hard to understand the decompiled code.
Proguard has a good reputation
http://proguard.sourceforge.net/
>
ProGuard is a free Java class file shrinker, optimizer, obfuscator, and preverifier. It detects and removes unused classes, fields, methods, and attributes. It optimizes bytecode and removes unused instructions. It renames the remaining classes, fields, and methods using short meaningless names. Finally, it preverifies the processed code for Java 6 or for Java Micro Edition.

Similar Messages

  • How to invoke java application from ABAP

    How to invoke java application from ABAP  ? Suppose I needto execute a EJB wihic is running on my SAP J2EE Enigne from an ABAP Program .
    Thanks,
    Manish

    Hi Manish,
    did you get some further documents concerning "abap program calls ejb"?
    If yes, could you please send me some informations.
    Thank you for your help.
    Kind regards, Patrick.

  • How to protect custom applications using oracle access manager?

    Can someone brief me on how to protect custom applications using oracle access manager?

    Is the Custom application a Web Application running on certified platform? If its Web Application then its no different you have to configure the access policies with http(s) as resource type.
    If its not a web application you can write Custom access Gate and then implement. You would configure the policies similar to Web application (you can define your ouwn resource type if you like) and in the custom web gate you will use Access server SDK API to validate the access rules.
    Thanks
    Ram

  • How to protect an application running on IIS with OAM 11gR2

    Hello Gurus,
    I have a question regarding protecting an application running on IIS with OAM 11gR2. We have an OHS server running and all the requests from the users are coming to this OHS server webgate for them to login using the SSO login page. These is all solaris. I am protecting other applications like pplsoft moduels with this OHS instance and OAM server. There is another application that I need to protect which is itself running on IIS windows machine. I need guidance as to -
    1.) Do I need to install a windows version of webgate to protect this IIS based application?
    2.) Or I can still protect and proxy requests from this application to current OHS instance? How can I do this?
    3.) Or Do I need to proxy requests directly from IIS to OAM weblogic server?
    Please advise to the earliest as this is an urgent issue.
    Thanks !!

    From your description it is not clear how exactly architecture looks like
    We have an OHS server running and all the requests from the users are coming to this OHS server webgate for them to login using the SSO login page.
    is this OHS centralized login farm ? (Case 1)
    OR is this OHS server (with webgate) acting as virtual web server hosting multiple web sites so that request to any site passes through this OHS/webgate (Case 2)
    1.) Do I need to install a windows version of webgate to protect this IIS based application?
    If case 1 then you need to install 10g webgate on top of IIS server to protect this application
    If case 2 then you can just proxy request from OHS to IIS server. As every request passes through OHS user will be authenticated before request hits IIS
    Look at Product documentation for virtual web sites : http://docs.oracle.com/cd/E27559_01/admin.1112/e27239/shared.htm#autoId12
    It has steps to protect virtual web sites.
    Also you need to make sure no one hits IIIS web sites directly.
    Hope this helps

  • How to protect web application from piracy?

    I m looking for solution to protect Web application from piracy.
    I want my application run on web server for which it is built, &
    it musn't run on any other web server.
    how can i protect my web application from piracy?.
    Our .Net applications we protect using Hardware ID binding ,
    How can i protect J2EE applications?

    Run it on your own server is the simple and only secure solution.

  • How to run Java Application in Weblogic 8.1

    Hi,
    I'm new to Weblogic 8.1. I just deployed a EJB with WebLogic 8.1 Server and I
    don't know how to run my Java Application against the EJB I deployed earlier.
    I tried to run "java Client_1" in a console window. It gives me the following
    message:
    C:\temp\WebLogic\new>java Client_1
    javax.naming.NoInitialContextException: Cannot instantiate class: weblogic.jndi.
    WLInitialContextFactory. Root exception is java.lang.ClassNotFoundException:
    we
    blogic.jndi.WLInitialContextFactory
    at java.net.URLClassLoader$1.run(URLClassLoader.java:198)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:186)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:299)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:265)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:255)
    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:315)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:217)
    at com.sun.naming.internal.VersionHelper12.loadClass(VersionHelper12.jav
    a:42)
    at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:6
    49)
    at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:243
    at javax.naming.InitialContext.init(InitialContext.java:219)
    at javax.naming.InitialContext.<init>(InitialContext.java:195)
    at Client_1.getInitialContext(Client_1.java:55)
    at Client_1.main(Client_1.java:14)
    C:\temp\WebLogic\new>

    hi,
    i solve this one after check bea documnetaion.
    with regards
    jp

  • How to deploy Java Application to AS?

    Hello there,
    I created Java Application, created Java Web Start (JNLP) Deployment Descriptors and everything works just fine when I am running application locally (using Run Manager in JDeveloper).
    How do I publish this Java Application to Oracle Application Server to start it using Java Web Start since there are no Java Web Start Deployment Descriptors to publish Application to Oracle Application Server?
    Or is there any other (easier, better) way to Deploy Java Application to Oracle Appplication Server?
    I searched otn.oracle.com but I cant find anything usefull, maybe it is me, please help me :)...
    Thanks,
    -Andrej

    From the JDeveloper technical papaers page:
    http://otn.oracle.com/products/jdev/collateral/papers/10g/adfjclientbcwebstart.pdf

  • How to remove Java Applications from "Add and Remove Programs" list?

    I have deployed my Java applications (both JWS and Applet) via JNLP with allow-offline option enabled and without installer-desc option specified.
    My questions are:
    1. An entry is added to the Add and Remove Programs list after launching the application via JNLP. Is it due to the specification of JNLP or JWS? Is there anyway to prevent this behavior?
    2. I removed my application by clearing the cache via Java Control Panel but the entry for the application is still listed in Add and Remove Programs. How can I remove the entry in the Add and Remove Programs?
    I have tried following methods but neither works:
    1.Go to Add and Remove Programs, and click [remove] button to the right of my application.
    *Warning message like 'Application cannot be uninstalled completely' is thrown.
    2.Follow instructions listed @ [Microsoft Online Support site|http://support.microsoft.com/kb/314481/en-us] to remove my application manually via Windows registry.
    *Couldn't find appropriate registry entry to delete.
    Thanks in advance!

    Hi, guys!
    This issue has been officially approved as a new bug (Bug Id: 6946221) for the JDK 1.6_20(might include any release below) release.
    It will take a couple of days for it to be shown up in the external Bug database. However, once it becomes available for viewing on external Bug database.I would like to encourage your valuable participation to vote on this bug to get it fixed ASAP by the SUN developer teams.
    Java Bug Database @
    [http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6946221|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6946221]
    Voting for the bug @
    [http://bugs.sun.com/bugdatabase/addVote.do?bug_id=6946221|http://bugs.sun.com/bugdatabase/addVote.do?bug_id=6946221]
    Thank you for your cooperation!
    Edited by: Jay-K on Apr 23, 2010 12:14 AM

  • How can my java application fill out an online form

    Hi,
    I am trying to create a Java application that will connect to a URL, fill out the form and submit it.
    How would I go about doing this?
    Thanks in advance,
    Chanie

    I'm doing something exceedingly similar, but I'm not sure how to get it to work, to be honest. Basically, I'm trying to download information from a site that requires a username and password. The html of the site is as follows, as well as my code. Any help would be appreciated!
    <form method="post" action="/cards/FALLON19790309A.php">
    <p>Username:   <input type="text" name="username" size="16" maxlength="16" value=></p>
    <p>Password:   <input type="password" name="password" size="16" maxlength="16"></p>
    <input type="hidden" name="action" value="muffinklezmer">
    <input type="hidden" name="nocache" value="1046986423">
    <input type="submit" value="Log in"></form>
    My code right now looks like this:
    URL playerCard = new URL("http://www.webpage.com");
    URLConnection pcConnection= playerCard.openConnection();     
    pcConnection.setRequestProperty("username","ABCDE");
    pcConnection.setRequestProperty("password","12345");
    BufferedReader in = new BufferedReader(
    new InputStreamReader(
    pcConnection.getInputStream()));
    pcConnection.connect();
    String inputLine = in.readLine();
    while (inputLine != null)
    System.out.println(inputLine);
    inputLine = in.readLine();
    }

  • How can my java application get its own PID?

    My java application runs under AIX?
    The application needs to get its own PID.
    There is a possibility to get it by
    Runtime.exec("ps -ef | grep <user.name>");
    But is there any other alternate possibility?
    Any idea would be great appreciated
    kind regards

    Hello! I found several ways for this in a blog from someone called Igor Minar on
    http://net3x.blogspot.com/2007/03/how-java-application-can-discover-its.html
    He found several ways:
    * Use Java management and monitoring API
    ManagementFactory.getRuntimeMXBean().getName();returns something like
    1826@localhost
    where 1826 is the PID of the JVM process, i.e. my application's process. But this hack is JVM dependent and may not work on JVM's other than Sun's
    * Use a shell script to put a property in place that is set to the PID:
    exec java -Dpid=$$ -jar myapp.jar* Java Native Interface - cumbersome and platform dependent solution
    * Use procfs (Linux solution: read /proc/self, nifty nifty, posted in the comments of the resp. post!)
    int pid = Integer.parseInt( ( new File("/proc/self")).getCanonicalFile().getName() );* From another comment: Reflection will work (on Unix): The Process class has a field called pid which can be queried:
    static int getPID(Process process) throws IllegalAccessException, IllegalArgumentException,
                                                                      NoSuchFieldException, SecurityException
         Field field = process.getClass().getDeclaredField("pid");
         field.setAccessible(true);
         return field.getInt(process);
    }But this solution looks a bit of a kludge to me. I think the /proc/self solution is best - it definitely rox my sox!
    Hope this helps!

  • How to connect Java Application to ORACLE8i over SSL connection

    Hi,
    I would like to know how to make an existent Java application connect to an ORACLE8i database over a secure SSL connection?
    can I user ResultSets?
    Could you please tell me what parameters to set on the database and, especially, what new code must be added for the Java Application so send data over an SSL connection.
    Your advice/hints will be greatly appreciated.
    Vani

    Use usual Oracle' encryption. SSL configuration is a nightmare.
    DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
    Properties props = new Properties();
    try {
    props.put("user", "scott");
    props.put("password","tiger");
    props.put("oracle.net.encryption_client", "REQUIRED");
    props.put("oracle.net.encryption_server", "REQUIRED");
    props.put("oracle.net.encryption_types_client", "( RC4_56 )");
    props.put("oracle.net.encryption_types_server", "( RC4_56 )");
    props.put("oracle.net.crypto_checksum_client", "REQUIRED");
    props.put("oracle.net.crypto_checksum_server", "REQUIRED");
    props.put("oracle.net.crypto_checksum_types_client", "( MD5 )");
    props.put("oracle.net.crypto_checksum_types_server", "( MD5 )");
    props.put("sqlnet.crypto_seed", "769764576979045769576907");
    } catch (Exception e) { e.printStackTrace(); }
    Connection conn=DriverManager.getConnection("jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=orcl)(PORT =1521)))(SDU=32767)(CONNECT_DATA=(SERVICE_NAME=orcl)(SID=orcl))", props);
    Statement stmt = conn.createStatement ();
    ResultSet rset = stmt.executeQuery ("select ENAME from EMP");
    while (rset.next ())
    System.out.println (rset.getString (1));
    rset.close();
    stmt.close();
    conn.close();

  • How to protect java source code?

    Hi everybody
    I love Java but I think that people can decompile my class file to take my source code!Like this program
    http://kpdus.tripod.com/jad.html
    How to protect our source code?Even you use Jar files, they can unzip them and decompile!
    Thanks in advance!

    Use Java Obfuscator. Try one of these
    http://preemptive.com/products/dasho/index.html
    http://www.zelix.com/klassmaster/obfuscator.html
    http://java-source.net/open-source/obfuscators

  • How to invoce java application (which is AQ recipient) ?

    background
    one pl/sql program (sender) puts messages into the queue
    one java application (recipient) get messages from the queue
    i cannot run the java application as a triggered java stored procedure,
    so i try to produce the same effect with Advanced Queuing
    question
    how do i invoce this java application after the queue is filled?
    do i have to run the application in a loop checking every x seconds if a new message is in the queue?
    or is there a better way to solve this problem?
    thanks

    Hi Samuel,
    In your JMS application, you can issue a blocking dequeue (receive). Your dequeue call will be blocked till a message for you comes in the queue or till the specified time out. The second option you have is to use onMessage callback.
    cheers,
    Brajesh.

  • How To install Java Application[J2SE] into Windows Mobile

    Hi All,
    I have developed an application for Mobile devices[ Windows Mobile] exclusively using Java[AWT].When I try to install , the application in mobile, i got the following error.
    *"MIDlet cannot be installed because critical information is missing from the MIDlet file (.jar). - 13 Please contact the MIDlet provider for more information."*
    I didnt use any midlet classes in my application. So my question is, what the above error denotes? and How to install
    java[AWT] application into mobile?. What are all the requirements to install the application?.
    Thanks in advance.

    Hi David, thank you very much, your information was very useful, finally i got the work done.
    The problem was with the JVM which is im used in my Windows Mobile. And im installed CrE-ME in my mobile
    to execute java application.
    The following link has the details of how to install the JVM and execute the aplication (.jar ).
    http://javatolearn.blogspot.com/search/label/Java%20in%20Windows%20CE%20with%20CrE-ME
    Thanks and Regards
    Baskaran

  • How to install java application /game ?

    Hi folks,
    I finally managed to connect my Nokia 6275i to PC suite 6.8 via Bluetooth but now I have other dilemma ....
    How do I install Java application or game ?
    I downloaded dictionary and game as well ( *.jar) but when I want to install it I can't select my phone. In connection manager the phone is grayed out so I can't select it.
    Other applications like Backup, managing contact ... do work fine.
    Any ideas what to do ?
    Thanks

    anyone have a resolution to this?
    you waste a few hundred on a phone and they expect you to pay $10 more for a game?
    you disagree to this and pay $40 for a connectivity cord only to find out they really really wanted you paying that $10 a game...
    im not very familiar with the previous posters explaination,if someone would be kind enough to explain.
    i would genuinely appreciate it.

Maybe you are looking for