IE - signed cab vs. signed jar problems

In IE on Windows when I sign an applet that is part of a package in a cab file it works like this; The first time the user hits the applet tag, IE downloads the cab and asks if you trust the applet. When the user clicks yes, it is installed to the downloaded program files system folder. The next time the user hits the applet tag the version in useslibraryversion param is compared to the installed cab and the applet is run without asking the user or attempting to download the cab, even if IE is restarted or the system rebooted.
When I use my signed jar I get two undesired results, when IE is restarted the jar is downloaded again and the user is asked if they trust it again. Any way to make this work like the cab as far as not downloading the second time and not asking the user again?

as far as not downloading the second time How about checking the server settings, (last-modified and expires??)
and not asking the user again?Allways trust?

Similar Messages

  • Signing jars problem

    Hi all,
    I've signed jars with certificate, which has following extentions
    Netscape Cert Type:
    SSL Client, S/MIME
    X509v3 Key Usage:
    Digital Signature, Non Repudiation, Key Encipherment
    X509v3 Extended Key Usage:
    TLS Web Client Authentication, E-mail Protection, Microsoft Smartcardlogin, Code Signing
    javaws produces odd complains about checking "leaf key usage" that failed and mentions "codeSigning". My certificate has clearly got that extention. Do you know what else is missing?

    You should not sign jars that are not yours.
    Put the jars in the lib/ext folder of the client jre.

  • Applet Signed JAR Problem

    Hi Members,
    * I am trying to uplaod a file to FTP server using apache API in Applet...
    * I have Signed the JAR(TestApplet.jar) file by the following steps,
    Generated the keytool for my created JAR file by the following command,
    keytool -genkey -alias TestApplet -validity 365
    Signed the JAR file by the following command,
    jarsigner TestApplet.jar TestApplet
    * The following is my HTML code to call my signed JAR file,
    +<HTML>+
    +<HEAD>+
    +</HEAD>+
    +<BODY>+
    +<APPLET ALIGN="CENTER" CODE="AppletExample.class" archive="AppletExample.jar" WIDTH="800" HEIGHT="500"></APPLET>+
    +</BODY>+
    +</HTML>+
    * The below is the my code in applet to upload a file to FTP server,
         public void upload(){
              try {
                   FTPClient client = new FTPClient();
                   FileInputStream fis = null;
                   client.connect("ftp.tnq.co.in");
                   client.login("workflow", "workflow");
                   String filename = "D:/Temp/upload.txt";
                   fis = new FileInputStream(filename);
                   client.storeFile("/home/workflow/TEST/javaupload.txt", fis);
                   client.logout();
                   fis.close();
                   System.out.println("File Uploaded Susccessfully.........");
              } catch (SocketException e) {
                   // TODO Auto-generated catch block
                   e.printStackTrace();
              } catch (FileNotFoundException e) {
                   // TODO Auto-generated catch block
                   e.printStackTrace();
              } catch (IOException e) {
                   // TODO Auto-generated catch block
                   e.printStackTrace();
         }* The File is successfully uploaded to FTP server machine while running it in Eclipse IDE, but not in browser(Mozilla FireFox)
    * When i run it by browser it throws the following exception,
    Exception in thread "AWT-EventQueue-2" java.security.AccessControlException: access denied (java.net.SocketPermission ftp.tnq.co.in resolve)
         at java.security.AccessControlContext.checkPermission(Unknown Source)
         at java.security.AccessController.checkPermission(Unknown Source)
         at java.lang.SecurityManager.checkPermission(Unknown Source)
         at java.lang.SecurityManager.checkConnect(Unknown Source)
         at java.net.InetAddress.getAllByName0(Unknown Source)
         at java.net.InetAddress.getAllByName(Unknown Source)
         at java.net.InetAddress.getAllByName(Unknown Source)
         at java.net.InetAddress.getByName(Unknown Source)
         at java.net.InetSocketAddress.<init>(Unknown Source)
         at org.apache.commons.net.SocketClient.connect(SocketClient.java:176)
         at org.apache.commons.net.SocketClient.connect(SocketClient.java:268)
         at AppletExample.upload(AppletExample.java:88)
         at AppletExample.actionPerformed(AppletExample.java:111)
         at java.awt.Button.processActionEvent(Unknown Source)
         at java.awt.Button.processEvent(Unknown Source)
         at java.awt.Component.dispatchEventImpl(Unknown Source)
         at java.awt.Component.dispatchEvent(Unknown Source)
         at java.awt.EventQueue.dispatchEvent(Unknown Source)
         at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
         at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
         at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
         at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
         at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
         at java.awt.EventDispatchThread.run(Unknown Source)* Please let me know, why it is not running in browser....?
    * Thanks in advance
    Regards,
    JavaImran

    * Thanks for your thoughts....
    * As sabre said to me sign external also, so that now i did the following upload program by sun API only(now there is no external API jar file)
    public void upload( String ftpServer, String user, String password,
             String fileName, File source ) throws MalformedURLException,
             IOException
          if (ftpServer != null && fileName != null && source != null)
             StringBuffer sb = new StringBuffer( "ftp://" );
             // check for authentication else assume its anonymous access.
             if (user != null && password != null)
                sb.append( user );
                sb.append( ':' );
                sb.append( password );
                sb.append( '@' );
             sb.append( ftpServer );
             sb.append( '/' );
             sb.append( fileName );
              * type ==> a=ASCII mode, i=image (binary) mode, d= file directory
              * listing
             sb.append( ";type=i" );
             BufferedInputStream bis = null;
             BufferedOutputStream bos = null;
             try
                URL url = new URL( sb.toString() );
                URLConnection urlc = url.openConnection();
                urlc.setDoOutput(true);
                //urlc.setUseCaches(false);
                bos = new BufferedOutputStream( urlc.getOutputStream() );
                bis = new BufferedInputStream( new FileInputStream( source ) );
                int i;
                // read byte by byte until end of stream
                while ((i = bis.read()) != -1)
                   bos.write( i );
             finally
                if (bis != null)
                   try
                      bis.close();
                   catch (IOException ioe)
                      ioe.printStackTrace();
                if (bos != null)
                   try
                      bos.close();
                   catch (IOException ioe)
                      ioe.printStackTrace();
          else
             System.out.println( "Input not available." );
       }* Now also, it is executing well in eclipse, but not in browser both IE and Mozilla2.0
    * I got the following error, when i run it in browser,
    java.net.ProtocolException: cannot write to a URLConnection if doOutput=false - call setDoOutput(true)
         at sun.net.www.protocol.http.HttpURLConnection.getOutputStream(Unknown Source)
         at sun.net.www.protocol.ftp.FtpURLConnection.getOutputStream(Unknown Source)
         at FileUploadAndDownload.upload(FileUploadAndDownload.java:76)
         at UploadAndDownload.actionPerformed(UploadAndDownload.java:67)
         at java.awt.Button.processActionEvent(Unknown Source)
         at java.awt.Button.processEvent(Unknown Source)
         at java.awt.Component.dispatchEventImpl(Unknown Source)
         at java.awt.Component.dispatchEvent(Unknown Source)
         at java.awt.EventQueue.dispatchEvent(Unknown Source)
         at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
         at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
         at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
         at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
         at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
         at java.awt.EventDispatchThread.run(Unknown Source)* The erroe gives me to set setDoOutput(true) as true..., i did like that only in my coding........but throws erroe..... Why that...?
    * Please let me know your suggestions........
    Thanks and Regards,
    JavaImran

  • Signing Jar problem

    Dear Experts,
    We used to create trusted jars with a keystore using JDK1.6.0, by using the following steps,
    Step 1 : Create a folder named 'certificates' on the below path "C:\Program Files\Java\jdk1.6.0"
    Step 2 : keytool -genkey -dname "cn=Mycompany,ou=Mycompany,o=OracleCorp,c=US" -alias myidentity -keypass myidentity -keystore C:\Program Files\Java\jdk1.6.0\certificates\keystore  -storepass myidentity -validity 365
    Step 3 : Now, I can see a file named 'keystore' inside the 'certificates' folder
    Yes. It works fine in jdk1.6.0, now I am going to update my jdk1.6.0. to jdk1.7.0_45
    Now, I can't suceed the above Step 2 in jdk1.7.0_45, Am I missing out something? or else some changes held in 1.7? Please guide me.

    Thats also funny that y ANT is trying to rename the file. Although it creates a .sig file but doesn't delete it as it throws me an error just after it makes that .sig file ---
    Regarrding about the closing slash. Here is full signjar code.
    <signjar alias="autosigner1" keystore="local.keystore" storepass="2day" verbose="true">
              <fileset dir="lib-oldplanner" includes="**/*.jar"/>
              <fileset dir="LIB" includes="**/*.jar"/>
    </signjar>

  • Problems with signed jar, HTTPS and forms 10.1.2.3

    I have been facing a hard problem for some days concerning jar signed and HTTPS. The server can be accessed both internally, on our intranet, by a local ip address, and externally, on the internet. The first access doesn't require https,as hosts are under our domain. Externally, however, we use https. That's de logic:
    A local server , a proxy server (on our DMZ) and externals hosts (internet). The proxy server is responsible for getting the information on our local forms server, applying the https security and connection to the external reequests.
    Concerning my application, it uses some signed jars. All of them were signed by using 'sign_webutil.bat', located in java bin directory.
    When the access is made internally, everything works fine. The jar files are downloaded correctly on the user machine and the applets run well. On the other hand, when we the access is made on internet, we get many errors concerning the classes inside frwebutil:
    network: Connecting https://200.253.113.26/forms/java/oracle/forms/webutil/clientInfo/GetClientInfo.class with cookie "JSESSIONID=4D4A8E49A46D4134112177FBACABE7B4"
    java.lang.ClassNotFoundException: oracle.forms.webutil.clientInfo.GetClientInfo
    at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)
    Caused by: java.io.IOException: open HTTP connection failed:https://200.253.113.26/forms/java/oracle/forms/webutil/clientInfo/GetClientInfo.class
    at sun.plugin2.applet.Applet2ClassLoader.getBytes(Unknown Source)
    at sun.plugin2.applet.Applet2ClassLoader.access$000(Unknown Source)
    at sun.plugin2.applet.Applet2ClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    I don't know what to do.

    Hi, Michael!
    Thanks for your reply. I read the article you suggested and I signed ther many jar files I use with the same certificate, however the problem remais the same. Without HTTPS, all works fine. With HTTPS:
    network: Cache entry not found [url: https://200.253.113.26/forms/java/oracle/forms/webutil/clientInfo/GetClientInfo.class, version: null]
    network: Connecting https://200.253.113.26/forms/java/oracle/forms/webutil/clientInfo/GetClientInfo.class with proxy=DIRECT
    network: Connecting https://200.253.113.26/forms/java/oracle/forms/webutil/clientInfo/GetClientInfo.class with cookie "JSESSIONID=08AA4CF07F761424418619C068213911"
    java.lang.ClassNotFoundException: oracle.forms.webutil.clientInfo.GetClientInfo
         at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)
         at java.lang.ClassLoader.loadClass(Unknown Source)
         at java.lang.ClassLoader.loadClass(Unknown Source)
         at java.lang.ClassLoader.loadClassInternal(Unknown Source)
         at java.lang.Class.forName0(Native Method)
         at java.lang.Class.forName(Unknown Source)
         at oracle.forms.handler.UICommon.instantiate(Unknown Source)
         at oracle.forms.handler.UICommon.onCreate(Unknown Source)
         at oracle.forms.handler.JavaContainer.onCreate(Unknown Source)
         at oracle.forms.engine.Runform.onCreateHandler(Unknown Source)
         at oracle.forms.engine.Runform.processMessage(Unknown Source)
         at oracle.forms.engine.Runform.processSet(Unknown Source)
         at oracle.forms.engine.Runform.onMessageReal(Unknown Source)
         at oracle.forms.engine.Runform.onMessage(Unknown Source)
         at oracle.forms.engine.Runform.sendInitialMessage(Unknown Source)
         at oracle.forms.engine.Runform.startRunform(Unknown Source)
         at oracle.forms.engine.Main.createRunform(Unknown Source)
         at oracle.forms.engine.Main.start(Unknown Source)
         at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
         at java.lang.Thread.run(Unknown Source)
    Caused by: java.io.IOException: open HTTP connection failed:https://200.253.113.26/forms/java/oracle/forms/webutil/clientInfo/GetClientInfo.class
         at sun.plugin2.applet.Applet2ClassLoader.getBytes(Unknown Source)
         at sun.plugin2.applet.Applet2ClassLoader.access$000(Unknown Source)
         at sun.plugin2.applet.Applet2ClassLoader$1.run(Unknown Source)
         at java.security.AccessController.doPrivileged(Native Method)
         ... 20 more
    network: Cache entry not found [url: https://200.253.113.26/lib/oracle/forms/webutil/file/FileFunctions.class, version: null]
    network: Connecting https://200.253.113.26/lib/oracle/forms/webutil/file/FileFunctions.class with proxy=DIRECT
    network: Cache entry not found [url: https://200.253.113.26/forms/java/oracle/forms/webutil/file/FileFunctions.class, version: null]
    network: Connecting https://200.253.113.26/forms/java/oracle/forms/webutil/file/FileFunctions.class with proxy=DIRECT
    network: Connecting https://200.253.113.26/forms/java/oracle/forms/webutil/file/FileFunctions.class with cookie "JSESSIONID=08AA4CF07F761424418619C068213911"
    java.lang.ClassNotFoundException: oracle.forms.webutil.file.FileFunctions
         at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)
         at java.lang.ClassLoader.loadClass(Unknown Source)
         at java.lang.ClassLoader.loadClass(Unknown Source)
         at java.lang.ClassLoader.loadClassInternal(Unknown Source)
         at java.lang.Class.forName0(Native Method)
         at java.lang.Class.forName(Unknown Source)
         at oracle.forms.handler.UICommon.instantiate(Unknown Source)
         at oracle.forms.handler.UICommon.onCreate(Unknown Source)
         at oracle.forms.handler.JavaContainer.onCreate(Unknown Source)
         at oracle.forms.engine.Runform.onCreateHandler(Unknown Source)
         at oracle.forms.engine.Runform.processMessage(Unknown Source)
         at oracle.forms.engine.Runform.processSet(Unknown Source)
         at oracle.forms.engine.Runform.onMessageReal(Unknown Source)
         at oracle.forms.engine.Runform.onMessage(Unknown Source)
         at oracle.forms.engine.Runform.sendInitialMessage(Unknown Source)
         at oracle.forms.engine.Runform.startRunform(Unknown Source)
         at oracle.forms.engine.Main.createRunform(Unknown Source)
         at oracle.forms.engine.Main.start(Unknown Source)
         at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
         at java.lang.Thread.run(Unknown Source)
    Caused by: java.io.IOException: open HTTP connection failed:https://200.253.113.26/forms/java/oracle/forms/webutil/file/FileFunctions.class
         at sun.plugin2.applet.Applet2ClassLoader.getBytes(Unknown Source)
         at sun.plugin2.applet.Applet2ClassLoader.access$000(Unknown Source)
         at sun.plugin2.applet.Applet2ClassLoader$1.run(Unknown Source)
         at java.security.AccessController.doPrivileged(Native Method)
         ... 20 more
    network: Cache entry not found [url: https://200.253.113.26/lib/oracle/forms/webutil/host/Host.class, version: null]
    network: Connecting https://200.253.113.26/lib/oracle/forms/webutil/host/Host.class with proxy=DIRECT
    network: Cache entry not found [url: https://200.253.113.26/forms/java/oracle/forms/webutil/host/Host.class, version: null]
    network: Connecting https://200.253.113.26/forms/java/oracle/forms/webutil/host/Host.class with proxy=DIRECT
    network: Connecting https://200.253.113.26/forms/java/oracle/forms/webutil/host/Host.class with cookie "JSESSIONID=08AA4CF07F761424418619C068213911"
    java.lang.ClassNotFoundException: oracle.forms.webutil.host.Host
         at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)
         at java.lang.ClassLoader.loadClass(Unknown Source)
         at java.lang.ClassLoader.loadClass(Unknown Source)
         at java.lang.ClassLoader.loadClassInternal(Unknown Source)
         at java.lang.Class.forName0(Native Method)
         at java.lang.Class.forName(Unknown Source)
         at oracle.forms.handler.UICommon.instantiate(Unknown Source)
         at oracle.forms.handler.UICommon.onCreate(Unknown Source)
         at oracle.forms.handler.JavaContainer.onCreate(Unknown Source)
         at oracle.forms.engine.Runform.onCreateHandler(Unknown Source)
         at oracle.forms.engine.Runform.processMessage(Unknown Source)
         at oracle.forms.engine.Runform.processSet(Unknown Source)
         at oracle.forms.engine.Runform.onMessageReal(Unknown Source)
         at oracle.forms.engine.Runform.onMessage(Unknown Source)
         at oracle.forms.engine.Runform.sendInitialMessage(Unknown Source)
         at oracle.forms.engine.Runform.startRunform(Unknown Source)
         at oracle.forms.engine.Main.createRunform(Unknown Source)
         at oracle.forms.engine.Main.start(Unknown Source)
         at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
         at java.lang.Thread.run(Unknown Source)
    Caused by: java.io.IOException: open HTTP connection failed:https://200.253.113.26/forms/java/oracle/forms/webutil/host/Host.class
         at sun.plugin2.applet.Applet2ClassLoader.getBytes(Unknown Source)
         at sun.plugin2.applet.Applet2ClassLoader.access$000(Unknown Source)
         at sun.plugin2.applet.Applet2ClassLoader$1.run(Unknown Source)
         at java.security.AccessController.doPrivileged(Native Method)
         ... 20 more
    network: Cache entry not found [url: https://200.253.113.26/lib/oracle/forms/webutil/session/SessionFunctions.class, version: null]
    network: Connecting https://200.253.113.26/lib/oracle/forms/webutil/session/SessionFunctions.class with proxy=DIRECT
    network: Cache entry not found [url: https://200.253.113.26/forms/java/oracle/forms/webutil/session/SessionFunctions.class, version: null]
    network: Connecting https://200.253.113.26/forms/java/oracle/forms/webutil/session/SessionFunctions.class with proxy=DIRECT
    network: Connecting https://200.253.113.26/forms/java/oracle/forms/webutil/session/SessionFunctions.class with cookie "JSESSIONID=08AA4CF07F761424418619C068213911"
    java.lang.ClassNotFoundException: oracle.forms.webutil.session.SessionFunctions
         at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)
         at java.lang.ClassLoader.loadClass(Unknown Source)
         at java.lang.ClassLoader.loadClass(Unknown Source)
         at java.lang.ClassLoader.loadClassInternal(Unknown Source)
         at java.lang.Class.forName0(Native Method)
         at java.lang.Class.forName(Unknown Source)
         at oracle.forms.handler.UICommon.instantiate(Unknown Source)
         at oracle.forms.handler.UICommon.onCreate(Unknown Source)
         at oracle.forms.handler.JavaContainer.onCreate(Unknown Source)
         at oracle.forms.engine.Runform.onCreateHandler(Unknown Source)
         at oracle.forms.engine.Runform.processMessage(Unknown Source)
         at oracle.forms.engine.Runform.processSet(Unknown Source)
         at oracle.forms.engine.Runform.onMessageReal(Unknown Source)
         at oracle.forms.engine.Runform.onMessage(Unknown Source)
         at oracle.forms.engine.Runform.sendInitialMessage(Unknown Source)
         at oracle.forms.engine.Runform.startRunform(Unknown Source)
         at oracle.forms.engine.Main.createRunform(Unknown Source)
         at oracle.forms.engine.Main.start(Unknown Source)
         at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
         at java.lang.Thread.run(Unknown Source)
    Caused by: java.io.IOException: open HTTP connection failed:https://200.253.113.26/forms/java/oracle/forms/webutil/session/SessionFunctions.class
         at sun.plugin2.applet.Applet2ClassLoader.getBytes(Unknown Source)
         at sun.plugin2.applet.Applet2ClassLoader.access$000(Unknown Source)
         at sun.plugin2.applet.Applet2ClassLoader$1.run(Unknown Source)
         at java.security.AccessController.doPrivileged(Native Method)
         ... 20 more
    network: Cache entry not found [url: https://200.253.113.26/lib/oracle/forms/webutil/fileTransfer/FileTransfer.class, version: null]
    network: Connecting https://200.253.113.26/lib/oracle/forms/webutil/fileTransfer/FileTransfer.class with proxy=DIRECT
    network: Cache entry not found [url: https://200.253.113.26/forms/java/oracle/forms/webutil/fileTransfer/FileTransfer.class, version: null]
    network: Connecting https://200.253.113.26/forms/java/oracle/forms/webutil/fileTransfer/FileTransfer.class with proxy=DIRECT
    network: Connecting https://200.253.113.26/forms/java/oracle/forms/webutil/fileTransfer/FileTransfer.class with cookie "JSESSIONID=08AA4CF07F761424418619C068213911"
    java.lang.ClassNotFoundException: oracle.forms.webutil.fileTransfer.FileTransfer
         at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)
         at java.lang.ClassLoader.loadClass(Unknown Source)
         at java.lang.ClassLoader.loadClass(Unknown Source)
         at java.lang.ClassLoader.loadClassInternal(Unknown Source)
         at java.lang.Class.forName0(Native Method)
         at java.lang.Class.forName(Unknown Source)
         at oracle.forms.handler.UICommon.instantiate(Unknown Source)
         at oracle.forms.handler.UICommon.onCreate(Unknown Source)
         at oracle.forms.handler.JavaContainer.onCreate(Unknown Source)
         at oracle.forms.engine.Runform.onCreateHandler(Unknown Source)
         at oracle.forms.engine.Runform.processMessage(Unknown Source)
         at oracle.forms.engine.Runform.processSet(Unknown Source)
         at oracle.forms.engine.Runform.onMessageReal(Unknown Source)
         at oracle.forms.engine.Runform.onMessage(Unknown Source)
         at oracle.forms.engine.Runform.sendInitialMessage(Unknown Source)
         at oracle.forms.engine.Runform.startRunform(Unknown Source)
         at oracle.forms.engine.Main.createRunform(Unknown Source)
         at oracle.forms.engine.Main.start(Unknown Source)
         at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
         at java.lang.Thread.run(Unknown Source)
    Caused by: java.io.IOException: open HTTP connection failed:https://200.253.113.26/forms/java/oracle/forms/webutil/fileTransfer/FileTransfer.class
         at sun.plugin2.applet.Applet2ClassLoader.getBytes(Unknown Source)
         at sun.plugin2.applet.Applet2ClassLoader.access$000(Unknown Source)
         at sun.plugin2.applet.Applet2ClassLoader$1.run(Unknown Source)
         at java.security.AccessController.doPrivileged(Native Method)
         ... 20 more
    network: Cache entry not found [url: https://200.253.113.26/lib/oracle/forms/webutil/ole/OleFunctions.class, version: null]
    network: Connecting https://200.253.113.26/lib/oracle/forms/webutil/ole/OleFunctions.class with proxy=DIRECT
    network: Cache entry not found [url: https://200.253.113.26/forms/java/oracle/forms/webutil/ole/OleFunctions.class, version: null]
    network: Connecting https://200.253.113.26/forms/java/oracle/forms/webutil/ole/OleFunctions.class with proxy=DIRECT
    network: Connecting https://200.253.113.26/forms/java/oracle/forms/webutil/ole/OleFunctions.class with cookie "JSESSIONID=08AA4CF07F761424418619C068213911"
    java.lang.ClassNotFoundException: oracle.forms.webutil.ole.OleFunctions
         at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)
         at java.lang.ClassLoader.loadClass(Unknown Source)
         at java.lang.ClassLoader.loadClass(Unknown Source)
         at java.lang.ClassLoader.loadClassInternal(Unknown Source)
         at java.lang.Class.forName0(Native Method)
         at java.lang.Class.forName(Unknown Source)
         at oracle.forms.handler.UICommon.instantiate(Unknown Source)
         at oracle.forms.handler.UICommon.onCreate(Unknown Source)
         at oracle.forms.handler.JavaContainer.onCreate(Unknown Source)
         at oracle.forms.engine.Runform.onCreateHandler(Unknown Source)
         at oracle.forms.engine.Runform.processMessage(Unknown Source)
         at oracle.forms.engine.Runform.processSet(Unknown Source)
         at oracle.forms.engine.Runform.onMessageReal(Unknown Source)
         at oracle.forms.engine.Runform.onMessage(Unknown Source)
         at oracle.forms.engine.Runform.sendInitialMessage(Unknown Source)
         at oracle.forms.engine.Runform.startRunform(Unknown Source)
         at oracle.forms.engine.Main.createRunform(Unknown Source)
         at oracle.forms.engine.Main.start(Unknown Source)
         at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
         at java.lang.Thread.run(Unknown Source)
    Caused by: java.io.IOException: open HTTP connection failed:https://200.253.113.26/forms/java/oracle/forms/webutil/ole/OleFunctions.class
         at sun.plugin2.applet.Applet2ClassLoader.getBytes(Unknown Source)
         at sun.plugin2.applet.Applet2ClassLoader.access$000(Unknown Source)
         at sun.plugin2.applet.Applet2ClassLoader$1.run(Unknown Source)
         at java.security.AccessController.doPrivileged(Native Method)
         ... 20 more
    network: Cache entry not found [url: https://200.253.113.26/lib/oracle/forms/webutil/cApi/CApiFunctions.class, version: null]
    network: Connecting https://200.253.113.26/lib/oracle/forms/webutil/cApi/CApiFunctions.class with proxy=DIRECT
    network: Cache entry not found [url: https://200.253.113.26/forms/java/oracle/forms/webutil/cApi/CApiFunctions.class, version: null]
    network: Connecting https://200.253.113.26/forms/java/oracle/forms/webutil/cApi/CApiFunctions.class with proxy=DIRECT
    network: Connecting https://200.253.113.26/forms/java/oracle/forms/webutil/cApi/CApiFunctions.class with cookie "JSESSIONID=08AA4CF07F761424418619C068213911"
    java.lang.ClassNotFoundException: oracle.forms.webutil.cApi.CApiFunctions
         at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)
         at java.lang.ClassLoader.loadClass(Unknown Source)
         at java.lang.ClassLoader.loadClass(Unknown Source)
         at java.lang.ClassLoader.loadClassInternal(Unknown Source)
         at java.lang.Class.forName0(Native Method)
         at java.lang.Class.forName(Unknown Source)
         at oracle.forms.handler.UICommon.instantiate(Unknown Source)
         at oracle.forms.handler.UICommon.onCreate(Unknown Source)
         at oracle.forms.handler.JavaContainer.onCreate(Unknown Source)
         at oracle.forms.engine.Runform.onCreateHandler(Unknown Source)
         at oracle.forms.engine.Runform.processMessage(Unknown Source)
         at oracle.forms.engine.Runform.processSet(Unknown Source)
         at oracle.forms.engine.Runform.onMessageReal(Unknown Source)
         at oracle.forms.engine.Runform.onMessage(Unknown Source)
         at oracle.forms.engine.Runform.sendInitialMessage(Unknown Source)
         at oracle.forms.engine.Runform.startRunform(Unknown Source)
         at oracle.forms.engine.Main.createRunform(Unknown Source)
         at oracle.forms.engine.Main.start(Unknown Source)
         at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
         at java.lang.Thread.run(Unknown Source)
    Caused by: java.io.IOException: open HTTP connection failed:https://200.253.113.26/forms/java/oracle/forms/webutil/cApi/CApiFunctions.class
         at sun.plugin2.applet.Applet2ClassLoader.getBytes(Unknown Source)
         at sun.plugin2.applet.Applet2ClassLoader.access$000(Unknown Source)
         at sun.plugin2.applet.Applet2ClassLoader$1.run(Unknown Source)
         at java.security.AccessController.doPrivileged(Native Method)
         ... 20 more
    network: Cache entry not found [url: https://200.253.113.26/lib/oracle/forms/webutil/browser/BrowserFunctions.class, version: null]
    network: Connecting https://200.253.113.26/lib/oracle/forms/webutil/browser/BrowserFunctions.class with proxy=DIRECT
    network: Cache entry not found [url: https://200.253.113.26/forms/java/oracle/forms/webutil/browser/BrowserFunctions.class, version: null]
    network: Connecting https://200.253.113.26/forms/java/oracle/forms/webutil/browser/BrowserFunctions.class with proxy=DIRECT
    network: Connecting https://200.253.113.26/forms/java/oracle/forms/webutil/browser/BrowserFunctions.class with cookie "JSESSIONID=08AA4CF07F761424418619C068213911"
    java.lang.ClassNotFoundException: oracle.forms.webutil.browser.BrowserFunctions
         at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)
         at java.lang.ClassLoader.loadClass(Unknown Source)
         at java.lang.ClassLoader.loadClass(Unknown Source)
         at java.lang.ClassLoader.loadClassInternal(Unknown Source)
         at java.lang.Class.forName0(Native Method)
         at java.lang.Class.forName(Unknown Source)
         at oracle.forms.handler.UICommon.instantiate(Unknown Source)
         at oracle.forms.handler.UICommon.onCreate(Unknown Source)
         at oracle.forms.handler.JavaContainer.onCreate(Unknown Source)
         at oracle.forms.engine.Runform.onCreateHandler(Unknown Source)
         at oracle.forms.engine.Runform.processMessage(Unknown Source)
         at oracle.forms.engine.Runform.processSet(Unknown Source)
         at oracle.forms.engine.Runform.onMessageReal(Unknown Source)
         at oracle.forms.engine.Runform.onMessage(Unknown Source)
         at oracle.forms.engine.Runform.sendInitialMessage(Unknown Source)
         at oracle.forms.engine.Runform.startRunform(Unknown Source)
         at oracle.forms.engine.Main.createRunform(Unknown Source)
         at oracle.forms.engine.Main.start(Unknown Source)
         at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
         at java.lang.Thread.run(Unknown Source)
    Caused by: java.io.IOException: open HTTP connection failed:https://200.253.113.26/forms/java/oracle/forms/webutil/browser/BrowserFunctions.class
         at sun.plugin2.applet.Applet2ClassLoader.getBytes(Unknown Source)
         at sun.plugin2.applet.Applet2ClassLoader.access$000(Unknown Source)
         at sun.plugin2.applet.Applet2ClassLoader$1.run(Unknown Source)
         at java.security.AccessController.doPrivileged(Native Method)
         ... 20 more
    network: Connecting https://200.253.113.26/forms/lservlet;jsessionid=08AA4CF07F761424418619C068213911 with proxy=DIRECT
    network: Connecting https://200.253.113.26/forms/lservlet;jsessionid=08AA4CF07F761424418619C068213911 with cookie "JSESSIONID=08AA4CF07F761424418619C068213911"
    network: Connecting https://200.253.113.26/forms/lservlet;jsessionid=08AA4CF07F761424418619C068213911 with proxy=DIRECT
    network: Connecting https://200.253.113.26/forms/lservlet;jsessionid=08AA4CF07F761424418619C068213911 with cookie "JSESSIONID=08AA4CF07F761424418619C068213911"
    basic: Applet started

  • Updating to signed JARs causes problems for older Java versions?

    Bear with me on this one -- not a Java developer, but an end user of Java products looking for a little clarification.
    We use a product which delivers a Java application via JAR file / web to end users (GlobalScape's EFT server).  With the recent release of Java 7 Update 51, users have been running into issues running these JAR files as they are not properly "signed".  We're working with the vendor to get updated signed JAR files in place, but they've warned us that these new JAR files will cause errors (or maybe not work at all) on folks who aren't running Java 7 Update 51.
    Trying to wrap my head around why that might be.  Best theory I can come up with from perusing threads here along with the Java team blogs is that the new security attributes used in the updated JAR files aren't "trusted" by older versions of Java (prior to Update 51?).
    We're pushing our vendor for clarification, but curious if someone here could help explain.
    Thanks!

    I suspect the problem with 'new JAR files will cause errors' is mainly because the vendor keeps enhancing their product, and may not any more support older JREs, or the new jars are no more compatible For example, we build our product on JDK 1.5 ... as some users out there must use that one because the 'newer and better' release does not work for them.
    But so far, we have not seen any problems running the 'JRE 7 Compliant' applications on older releases ... provided you can make your application run on latest JRE 7.
    In most cases, one can simply remove the previous signature, add (now required) attributes, and sign the same jar again.
    But I have yet to find a vendor that would simply add attributes to some older release and re-sign those. Perhaps they can't repeat the build / QA cycle, and would not 'trust' the re-signed jars.
    Our curse are signed Cryptographic Provider jars.
    Those must be signed by certificates rooted by Sun/Oracle, and adding attributes invalidates that signature - we can re-sign them, but then they won't work. In our case, we are stuck with 5+ year old Bouncy Castle jars, and it does not help us that their 'current' jars are signed with attributes - they are completely incompatible..
    IMHO, Oracle failed to think this all thru - or does not care.

  • Problems with Signed jar

    I am having a problem with signed jar and deploy in html
    get this error on the page
    self signed
    /dist/testfx.html
    JavaFX application could not launch due to system configuration. See java.com/javafx for troubleshooting information.Unsigned jar works perfectly but has security and permission issues when using classes.
    This was working in beta 45

    Can you post an example project that demonstrates the problem? There were changes to the ant tasks and netbeans support around B45 that could cause problems depending on which version of the SDK and NetBeans you have. Similarly, if you wrote ant scripts prior to B44 and then use them with a later build you could have problems. And of course, if you're producing the Jar file and deployment artifacts without using the provided ant tasks (for example, using the normal ant jar task) you'll have problems.
    I've verified that this works as expected in the FX 2.0 GA release using ant from the command line, and with the NetBeans 7.1 beta release using the FX 2.0 GA release.

  • Specifiy certificate in jnlp, so mutliple signed jars aren't a problem

    Is it possible to specify my certificate in the jnlp?
    Webstart can ask the user the accept that one, while some of my jars are actually signed by other certificates too.
    I have several 3th party jars that I sign but that are already signed, for example acegi-security, ... It's hard to unsign them automatically and it doesn't feel right to have to unsign them (it's like being signed is a bad thing).
    PS: I am using maven2 and it's webstart plugin to generate my jnlp which works perfectly with non-signed dependend jars.

    Problem is I have about 30 dependencies, of which a couple are already signed.
    I don't want my user to have to click through 20 certificates.

  • Problem occuring when extending classes coming from 2 signed JAR

    Hi everyone,
    I have 2 signed jar called "base_signed.jar" and "extended_signed.jar" using keytool with a testing certificate generated at runtime. All goes well because with both signed JARs I can use the URLClassLoader without any java.security.AccessControlException exception.
    But the first JAR contains abstract class B, the latter JAR contains a concrete class A.
    The problem occurs when I try to instantiate some class A coming from "extended_signed.jar" using Class.forName("blablaclassA").newInstance() and occurs only if this class A extends some other abstract class B contained inside "base_signed.jar" .
    Pratically if the class A is casted as its common JVM ancestor of B (JInternalFrame) all goes well, otherwise if I try to cast A using its direct ancestor B, I receive the following exception:
    network: Connessione a http://www.orion.lan/~antares/it/weev/wipidea/plugins/MeteoradarArpavPlugin$7.class con proxy=DIRECT
    Exception in thread "AWT-EventQueue-35" java.lang.ClassCastException: it.weev.wipidea.plugins.MeteoradarArpavPlugin cannot be cast to it.weev.wipidea.base.AWipideaPlugin
         at it.weev.wipidea.base.PluginLoader.loadNetworkPlugin(Unknown Source)
         at it.weev.wipidea.applet.WipideaApplet.loadPlugin(Unknown Source)
         at it.weev.wipidea.applet.WipideaApplet$1.actionPerformed(Unknown Source)
         at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
         at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
         at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
         at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
         at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
         at java.awt.Component.processMouseEvent(Unknown Source)
         at javax.swing.JComponent.processMouseEvent(Unknown Source)
         at java.awt.Component.processEvent(Unknown Source)
         at java.awt.Container.processEvent(Unknown Source)
         at java.awt.Component.dispatchEventImpl(Unknown Source)
         at java.awt.Container.dispatchEventImpl(Unknown Source)
         at java.awt.Component.dispatchEvent(Unknown Source)
         at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
         at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
         at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
         at java.awt.Container.dispatchEventImpl(Unknown Source)
         at java.awt.Component.dispatchEvent(Unknown Source)
         at java.awt.EventQueue.dispatchEvent(Unknown Source)
         at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
         at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
         at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
         at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
         at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
         at java.awt.EventDispatchThread.run(Unknown Source)
    network: Voce cache non trovata [url: http://www.orion.lan/~antares/it/weev/wipidea/base/PluginLoader.class, versione: null]
    network: Connessione a http://www.orion.lan/~antares/it/weev/wipidea/base/PluginLoader.class con proxy=DIRECT
    network: Voce cache non trovata [url: http://www.orion.lan/~antares/it/weev/wipidea/base/network-classpath.class, versione: null]
    ---The strange thing is that if I don't sign both JARs the class A is casted on B without any exception, could for security reason like hash or other? Ideally I need all JAR signed only because I plan to load classes from all over the net, but seems that URLClassLoader throws an AccessControlException when called.
    Anyway just now I solve all using only the common JVM ancestor of A and B, but what could be the final solution?
    Thanks, bye.

    Hi Sean,
    The file in question has been signed which causes issues in both OSB directly and in Eclipse when we do an import into that tool first.Can you let us know what issues you faced? Any errors? If yes, please post the same here.
    Regards,
    Anuj
    Edited by: Anuj Dwivedi on Feb 23, 2011 9:10 PM

  • Problem Packing Signed JARs of more than 10 MB

    Hi friends of Java,
    there seems to be a size issue when packing signed JARs.
    When I try to pack a signed JAR of about 5 MEGs (such as the jbossall_client.jar file) it works (i.e. jarsigner can verify the result),
    but if i try doing it with a JAR of about 11 MEGs the jarsigner can't verify the packed (and unpacked again) file.
    Example:
    C:\p\u\ccm_wa\basis_web\santafu~tnagel\santafu>dir temp\webstart\BasisWebClient.jar
    06.03.2009 17:32 10.943.963 BasisWebClient.jar
    C:\p\u\ccm_wa\basis_web\santafu~tnagel\santafu>pack200 --repack temp\webstart\BasisWebClient.jar
    C:\p\u\ccm_wa\basis_web\santafu~tnagel\santafu>jarsigner -storepass xxxxxx -keystore resources\build\key\BasisWebKeystore temp\webstart\BasisWebClient.jar BasisWeb
    C:\p\u\ccm_wa\basis_web\santafu~tnagel\santafu>jarsigner -verify temp\webstart\BasisWebClient.jar
    jar verified.
    C:\p\u\ccm_wa\basis_web\santafu~tnagel\santafu>pack200 temp\webstart\BasisWebClient.jar.pack.gz temp\webstart\BasisWebClient.jar
    C:\p\u\ccm_wa\basis_web\santafu~tnagel\santafu>unpack200 temp\webstart\BasisWebClient.jar.pack.gz test.jar
    C:\p\u\ccm_wa\basis_web\santafu~tnagel\santafu>jarsigner -verify test.jar
    jarsigner: java.lang.SecurityException: SHA1 digest error for basisweb/vg/presenter/SchluesselBezeichnungDialogPresenter.class
    The same with a smaller file:
    C:\p\u\ccm_wa\basis_web\santafu~tnagel\santafu>dir temp\webstart\jbossall-client.jar
    31.08.2007 07:31 4.895.807 jbossall-client.jar
    C:\p\u\ccm_wa\basis_web\santafu~tnagel\santafu>pack200 --repack temp\webstart\jbossall-client.jar
    C:\p\u\ccm_wa\basis_web\santafu~tnagel\santafu>jarsigner -storepass xxxxx -keystore resources\build\key\BasisWebKeystore temp\webstart\jbossall-client.jar BasisWeb
    C:\p\u\ccm_wa\basis_web\santafu~tnagel\santafu>jarsigner -verify temp\webstart\jbossall-client.jar
    jar verified.
    C:\p\u\ccm_wa\basis_web\santafu~tnagel\santafu>pack200 temp\webstart\jbossall-client.jar.pack.gz temp\webstart\jbossall-client.jar
    C:\p\u\ccm_wa\basis_web\santafu~tnagel\santafu>unpack200 temp\webstart\jbossall-client.jar.pack.gz test.jar
    C:\p\u\ccm_wa\basis_web\santafu~tnagel\santafu>jarsigner -verify test.jar
    jar verified.
    It also works when I split the original JAR in multiple parts. Any ideas?
    Used Java Version:
    java version "1.6.0_12"
    Java(TM) SE Runtime Environment (build 1.6.0_12-b04)
    Java HotSpot(TM) Client VM (build 11.2-b01, mixed mode, sharing)
    OS: Windows XP Pro Version 2002 SP2
    PC: Intel Pentium 4 3.2GHz, 2GB RAM, 160 GB HD
    Regards from Germany,
    Thomas Nagel

    Hello Bryan,
    I dont have a solution yet. Currently we use the jars uncompressed. Sad, but that works.
    For the future, we are not really sure wether we can stick with JWS, as the signed JNLP-file-issue might make us even more trouble.
    I've done some error search. Look at the following.
    Try for your own with some different sized jar's, and maybe post the results (definitely if they all pass):
    --- snip ----
    package ctest;
    import java.io.File;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.util.Enumeration;
    import java.util.Map;
    import java.util.jar.*;
    import java.util.jar.Pack200.*;
    * @author tnagel
    public class PackTest implements Runnable {
         String test1 = "junit";
         String test2a = "xalan";
         String test2 = "jbossall-client";
    String test3 = "BasisWebClient2";
    String dir = "/tmp/";
    String ext1 = ".jar";
    String ext2 = ".jar.pack.gz";
    //String infile = "/tmp/BasisWebClient.jar";
    //String outfile = "/tmp/BasisWebClient.jar.pack.gz";
    //String testfile = "/tmp/testaus.jar";
    * @param args the command line arguments
    public static void main(String[] args) {
         PackTest me = new PackTest(args);
    public PackTest(String[] args) {
    this.run();
    public void setProperties(Packer packer) {
    // Initialize the state by setting the desired properties
    Map p = packer.properties();
    // take more time choosing codings for better compression
    p.put(Packer.EFFORT, "9"); // default is "5"
    //// use largest-possible archive segments (>10% better compression).
    // p.put(Packer.SEGMENT_LIMIT, "-1");
    //// reorder files for better compression.
    //p.put(Packer.KEEP_FILE_ORDER, Packer.FALSE);
    //// smear modification times to a single value.
    //p.put(Packer.MODIFICATION_TIME, Packer.LATEST);
    //// ignore all JAR deflation requests,
    //// transmitting a single request to use "store" mode.
    //p.put(Packer.DEFLATE_HINT, Packer.FALSE);
    //// discard debug attributes
    //p.put(Packer.CODE_ATTRIBUTE_PFX+"LineNumberTable", Packer.STRIP);
    // throw an error if an attribute is unrecognized
    p.put(Packer.UNKNOWN_ATTRIBUTE, Packer.ERROR);
    //// pass one class file uncompressed:
    //p.put(Packer.PASS_FILE_PFX+0, "mutants/Rogue.class");
    @Override
    public void run() {
         doTest(test1, true);
         doTest(test2, true);
         doTest(test3, true);
         doTest(test3, true);
         doTest(test3, true);
    private void doTest(String test, boolean compare) {
    String infile = dir + test + ext1;      // "/tmp/BasisWebClient.jar";
    String outfile = dir + test + ext2; // "/tmp/BasisWebClient.jar.pack.gz";
    String testfile = dir + test+ "-aus" + ext1;
    try {
         countJar(infile, false);
         JarFile jarFile = new JarFile(infile);
    FileOutputStream fos = new FileOutputStream(outfile);
    // Create the Packer object
    Packer packer = Pack200.newPacker();
    setProperties(packer);
    // call the packer
    long startTimeMethode =System.currentTimeMillis();
    packer.pack(jarFile, fos);
    System.out.println("Time for Pack: " + (System.currentTimeMillis() - startTimeMethode));
    jarFile.close();
    fos.close();
    File f = new File(outfile);
    FileOutputStream fostream = new FileOutputStream(testfile);
    JarOutputStream jostream = new JarOutputStream(fostream);
    Unpacker unpacker = Pack200.newUnpacker();
    // Call the unpacker
    startTimeMethode =System.currentTimeMillis();
    unpacker.unpack(f, jostream);
    System.out.println("Time for Unpack: " + (System.currentTimeMillis() - startTimeMethode));
    // Must explicitly close the output.
    jostream.close();
         countJar(testfile, false);
         if(compare) compareJars(infile,testfile);
    } catch (IOException ioe) {
         System.err.println(ioe);
    ioe.printStackTrace();
    private void countJar(String filename, boolean showDetails) {
         JarFile jarFile1 = null;
         try {
              int entries = 0;
              long sizeTotal = 0L;
              long compressedSum = 0L;
              jarFile1 = new JarFile(filename);
              Enumeration e = jarFile1.entries();
              while(e.hasMoreElements()) {
                   JarEntry jarE = (JarEntry) e.nextElement();
                   entries ++;
                   sizeTotal += jarE.getSize();
                   compressedSum += jarE.getCompressedSize();
                   if(showDetails) {
                        System.out.println( jarE.getName() + " s= " + jarE.getSize() + " c= " + jarE.getCompressedSize() );
              System.out.println( filename + ": " + entries + " entries, " + sizeTotal + " Byte, compressed " + compressedSum + " Byte" );
    } catch (IOException ioe) {
         System.err.println(ioe);
    ioe.printStackTrace();
    } finally {
         try { if(jarFile1 != null) jarFile1.close(); } catch (Exception e) { }
    private void compareJars(String erstes, String zweites) {
         JarFile jarFile1 = null;
         JarFile jarFile2 = null;
         try {
              int fehler = 0;
              int entries = 0;
              jarFile1 = new JarFile(erstes);
              jarFile2 = new JarFile(zweites);
              Enumeration e1 = jarFile1.entries();
              Enumeration e2 = jarFile2.entries();
              while(e1.hasMoreElements()) {
                   JarEntry jarE1 = (JarEntry) e1.nextElement();
                   if(e2.hasMoreElements()) {
                        JarEntry jarE2 = (JarEntry) e2.nextElement();
                        entries++;                    
                        if(!jarE1.getName().equals(jarE2.getName())) {
                             System.out.println( "Name different at Index= " + entries+ " n1=" + jarE1.getName() + " n2=" + jarE2.getName() );
                             fehler ++;
                             break;
                        if(jarE1.getSize() != jarE2.getSize()) {
                             System.out.println( "Size different at bei " + jarE1.getName() + " Index= " + entries + " s1=" + jarE1.getSize() + " s2=" + jarE2.getSize());                         
                             fehler ++;
                        if(jarE1.getCrc() != jarE2.getCrc()) {
                             System.out.println( "CRC different at " + jarE1.getName() + " Index= " + entries + " s1=" + jarE1.getCrc() + " s2=" + jarE2.getCrc());                         
                             fehler ++;
                        if(jarE1.getMethod() != jarE2.getMethod()) {
                             System.out.println( "Method different at " + jarE1.getName() + " Index= " + entries + " m1=" + jarE1.getMethod() + " m2=" + jarE2.getMethod());                         
                             fehler ++;
              System.out.println( "Errors= " + fehler + " entries=" + entries );
    } catch (IOException ioe) {
         System.err.println(ioe);
    ioe.printStackTrace();
    } finally {
         try { if(jarFile1 != null) jarFile1.close(); } catch (Exception e) { }
         try { if(jarFile2 != null) jarFile2.close(); } catch (Exception e) { }
    --- snip ----
    Cheers,
    Thomas

  • Problems during execution of signed JARs applet...

    Hi Everyone,
    I noticed that AppletViewer used for development allows a wider range of operation not permitted during the execution in browser of a signed JAR.
    I would be interested to know if this is caused because I am using a not real certificate (generated for testing). Anyone with a real certificate may tell me if for example URLClassLoader works well with jar applet signed with his real certificate?
    Thanks, bye

    Thanks, you confirm what I was not anymore able to verify in my browser :)
    In fact the very first time I launched my applet in browser, the browser was showing a detailed message dialog pane complaining the untrustable certificate and restricted access privileges, so I thought to accept untrusted certificate as default and I tried to set up some options in security panel of the browser to trust untrusted certificate. Consequentely I was receiving only the untrusted certificate warning without any restriction message warning.
    I understood that applets signed with untrusted certificates gives some more privilege than applet not signed, but evidently the security level of untrusted certificate does not give all total priviliges that trusted certificate does.

  • Peculiar issue with signed .jars and Linux (Debian unstable, 2.4.20-custom)

    BACKGROUND:
    I am a developer working on a Java3D application, which is to be deliverable over
    the Web. Delivery as an applet seemed a natural choice, and so I spent a considerable amount of effort learning (I won't say "mastering") the process of
    creating a self-signed .jar containing java3d-<some_version>.exe. I have in fact
    successfully created a fully-fuctional from-scratch JPI/Java3D/myapp install. By
    this I mean that Windows machine with only stock IE installed could hit my URL,
    get the proper JPI installed, followed by the Java3D runtime I'd chosen, as well
    as a third-party DXF loader, and finally (after much clicking of 'Yes', 'Accept',
    'OK', etc.) see my app in a browser window.
    That was on my old, slow, Windows2000 workstation. Now I have a shiny, new
    workstation upon which my employer has graciously allowed me to run Linux. Sadly,
    the re-creation of the self-signed .jar files under a new JDK has not gone smoothly.
    PROBLEM DESCRIPTION:
    When a user attempts to download the self-signed .jar containing the auto-install
    executable for the Java3D runtime, the normal security warning prompts are displayed (one for granting to install the extension, one to accept the "suspect" certificate from me alone). The plugin happily downloads the .jar file, and then
    a NullPointerException is thrown, with a
    stack trace like:
    NPE!
    at java.util.zip.ZipFile.getInputStream (unknown source)
    at java.util.jar.JarFile.getInputStream (unknown source)
    <something>doPrivileged<something>
    etc.
    I apologize for the lack of a full stack trace; I would essentially have to type it in by hand after printing it out on the remote test box; I hope that I've caught the important details above.
    After this, the pure-java signed .jar is downloaded and installed, and then the applet "loads" with the predictable ClassNotFoundException for javax.media.j3d.SceneGroup.
    Downloading and installing the J3D runtime by hand and then re-visiting the URL results in a fully-functional applet.
    I've tried Blackdown Linux JDKs 1.4 and 1.3.1, as well as Sun's JDKs 1.3.1_07 and 1.3.1_05 for the compiling, jar'ing, and jarsigner'ing of these files, all with the same result. At each new JDK, I re-did the HTML conversion so that he appropriate
    JPI version was required on the client. I did complete uninstallations of all client JPI instances (including Web Start for 1.4.1_x, as well as cleaning the registry on the client).
    When this strategy worked, it was on Sun JDK 1.3.1_05 for Windows runnning on Windows2000, unknown service pack.
    DESIRED BEHAVIOR:
    I would like my clients to be able to go from stock Windows2K/IE (this being an intranet without any other options) to some JPI version running the J3D extension, with only the need to click 'OK', 'Accept', 'Grant This Session', etc. a bunch of times on the part of the user. I want this to happen without my having to resurrect my decrepit old Compaq Deskpro just to play the role of "build host" for my
    Java3D and loader .jar files, if at all possible.
    FILES:
    Here's what gets merged into the "main" applet's mainfest at creation time:
    Manifest-Version: 1.0
    Extension-List: java3d DxfLoader
    java3d-Extension-Name: javax.media.j3d
    java3d-Implementation-Vendor-Id: com.sun
    java3d-Implementation-Version: 1.3
    java3d-Specification-Title: Java 3D API Specification
    java3d-Specification-Version: 1.3
    java3d-Specification-Vendor: Sun Microsystems, Inc
    java3d-Implementation-URL: http://10.1.1.1/heartcad/lib/java3d.jar
    DxfLoader-Extension-Name: eupla.dxfloader
    DxfLoader-Implementation-Title: Eupla DXFLoader
    DXFLoader-Implementation-URL: http://10.1.1.1/heartcad/lib/DxfLoader.jar
    And into the manifest for the J3D .jar:
    Manifest-Version: 1.0
    Implementation-Version: 1.3
    Specification-Version: 1.3
    Extension-Installation: "java3d-1_3-windows-i586-directx-rt.exe"
    Extension-Name: javax.media.j3d
    Implementation-Vendor-Id: com.sun
    Implementation-Vendor: Sun Microsystems, Inc
    Specification-Vendor: Sun Microsystems, Inc

    I have seen that bug, and the problem I'm having seems to be different than it. The extension installer is in the first extension .jar my applet asks for, and it
    never works automatically, regardless of how many times the applet is loaded.
    The second .jar, which doesn't have to run any installer, always works fine, but the first one will never work (a manual install of the Java3D runtime is required). This seems to not be the behavior described in the bug.
    I will continue to search for an answer to this problem, and of course if I should find anything I'll post it here.

  • Read binary files that are wraped in the downloaded executable signed jar

    Hello, there:
    I have created a Swing application and created a signed jar file and uploaded it to my site. The signed jar includes class packages, and a folder of binary files which are the datasource for my application.
    jws downloads this signed executable jar, it'll automatically run it, but it has problems reading the binary folders wrapped in itself (the app is supposed to read the folder's structure and use the info to create a JTree object, and read the file's content as well). Is it the file path conversion problem? Do we need to use URL instead? I tried it after reading some threads on this forum but didn't make it.
    As an alternatives, I want JWS to unjar the jar file and expand it to exploded files. I manually unjar it and run the app from command line, it works fine.
    Plus, the app is supposed to manipulate the binary files when it's in process, like saving new content back to the files, zip the files and upload them to the remote sql server. therefore, I think it's easy to have it run when it's expanded.
    So here is the question: JWS by default is running the executable jar, is there a way to tell JWS to unzip the jar and find the main class in the exploded files and run it?
    Thanks a lot for your suggestions,
    Sway

    You can get to any resource in a jar file in your classpath. The code below will return InputStream for resource.bin nested two packages down.
    InputStream in = YourClass.class.getResourceAsStream("/com/mypackage/resouce.bin");  //use '/' instead of '.'You can open a FileOutputStream to write that file.
    OutputStream out = new FileOutputStream("myTempResource.bin");
    IOUtil.streamAndClose(in,out);If the resouce is a nested zip or nested jar then you can use the Java Zip utilities to unwrap the stream.

  • Multiple jnlp's for signed jars

    Hi,
    I'm trying to solve the issue where you have several different certificates trying to sign the jars ... I've found out that you can just add extentions to your main jnlp and add the jars there.
    Problem: I have loads of jars, all with different certificates.
    At the moment I just generate my jnlp by usign a template, and entering $dependencies to list all jars in the file. That didn't work (JAR resources in JNLP file are not signed by same certificate), so I added my main jar in the main jnlp, and all the other jars in the extended jnlp, which is not working. Probably because (correct me if I'm wrong) I have to split every jar with another certificate into another jnlp ?
    Is there any way I can split up the signed jars without having to add them manually in the jnlp file ?
    Edited by: ReggieBE on May 16, 2008 1:17 AM

    Oh, and I'm using webstart-maven-plugin from mojo.codehouse.org ;)

  • Signed jar:  java.util.zip.ZipException: invalid entry size

    Hi, I have written an applet using Java 1.4. The applet contains multiple .class and .gif files. I jared the files to produce a single .jar file with the manifest. Then I signed that jar file with jarsigner that produced a self-signed jar with the certificate. When I run the applet in IE6 on my computer (Windows XP) it works fine - I got the certificate dialog box popping up and the applet loads normally. My computer does not have a Web server installed so everything happens locally.
    As soon as I move the html and signed jar files to the server and try to call it from my PC, the Java console displays the following message:
    java.util.zip.ZipException: invalid entry size (expected 1342177310 but got 7728 bytes)
         at java.util.zip.ZipInputStream.readEnd(ZipInputStream.java:363)
         at java.util.zip.ZipInputStream.read(ZipInputStream.java:142)
         at sun.plugin.cache.CachedJarLoader.decompress(CachedJarLoader.java:397)
         at sun.plugin.cache.CachedJarLoader.access$500
    CachedJarLoader.java:53)
         at sun.plugin.cache.CachedJarLoader$5.run(CachedJarLoader.java:335)
         at java.security.AccessController.doPrivileged(Native Method)
    etc... it's huge
    I have been through the forums, some people have similiar problem while trying to sign their jar, well, mine signs OK, it's just the fact that it doesn't run ... I've tried to kill the manifest and then re-sign the jar. I also tried to jar the files with -0 option - nothing worked. I do appreciate if someone could point me in the right direction.
    Thanks

    I have managed to work this one out: UNIX servers don't like jar files FTPed using ASCII. They should should be transferred in binary mode. I have installed an FTP client on my PC, switched to binary mode and re-transferred the jar file and it worked straight away.
    Thanks.

Maybe you are looking for

  • How to get the date starting from 1 to the current date from the system dat

    Dear all, Please tell me how to get the date starting from 1 based on the system date and it should come with respect of time also. example. suppose today is 6 Dec, 2006 so ABAP report should find the 1 dec. 2006. Please help me as soon as possible.

  • Can't register my computer with icloud

    I just "upgraded" from MobileMe to ICloud. However, I have not been allowed to register my computer. I follow all the prompts and end up with the never ending rotating swirl. Please help me with simple instructions.

  • Change of sender of gmail

    I am a user of several e-mail addresses as a sender in my Gmail account. I cannot use my other sender addresses than default gmail address ("@gmail.com" address). Do you know if I can use the other addresses as a sender and how to set up. Thanks. Cur

  • Indian Rupees Symbol In samrtform

    How to print new Indian Rupees Symbol In samrtform , which recently comes from RBI, Moderator Message: Duplicate post. Did not search and either way you've got enough replies. Edited by: kishan P on Oct 12, 2010 7:17 AM

  • Hosting a website on BT infinity

    Hi, Can anyone tell me if BT infinity (residential) includes web space for hosting a small website (My present ISP provides 50MB which I currently use, I want to know if I can transfer my site to BT if I get infinity). Also, I presume it is possible