Signed java 1.1.8 applet

I'm developing with jdk1.1.8 today to support MSJVM, such that user of old Windows don't have to install java explicity to run my applet. Now I have come to the point where I need a signed applet. I have searched the net and the information I get is that signing applet was very starge before java Plugin 1.3, where it became more unified.
So my questions are:
What options do I have if I wish to remain using jdk1.1.8 and I want a signed applet that should be abel to run in any browser on any OS?
If a users uses windows and haven't isntalled any recent JRE. That is he only have the MSJVM to run applets. Is there a way that he can use an applet signed according to the java plug-in 1.3 scheme without having to download a recent JRE?
Ok I dont know if that makes any sense, but I hope someone can give me some answers.
thanks
Robert

You need to use the cabsign utility from MS to sign for MSJVM.
Here are some snippets from my cygwin bash script for signing jars and cabs:
if [ $makecabs -ne 0 ]; then
echo '#' cabarc $pdir $sdls
rm -f ../code/jars/unsigned/$prnm.cab
cabarc -r -p N ..\\code\\jars\\unsigned\\$prnm.cab \*.class \*.gif > ${prnm}-cab.log
fi
if [ $makejars -ne 0 ]; then
echo '#' jar $pdir $sdls
rm -f ../code/jars/unsigned/$prnm.jar
pwd
echo "jar -cvf ..\\code\\jars\\unsigned\\$prnm.jar $sdls"
jar -cvf ..\\code\\jars\\unsigned\\$prnm.jar $sdls > ${prnm}-jar.log
fi
sign() {
key=${keys[$2]}
kid=${kids[$2]}
par=${part[$1]}
cls=${pcls[$1]}
nam=${pnam[$1]}
mkdir -p ../docroot/code/jars/$key
if [ $makejars -ne 0 ]; then
echo '#' signing jar $1 $2 key:$key kid:$kid par:$par
pwd
jarfile="..\\docroot\\code\\jars\\$key\\$cls.jar"
cp -f ../docroot/code/jars/unsigned/$cls.jar ../docroot/code/jars/$key/$cls.jar
echo jarsigner -keystore ..\\keys\\.keystore -storepass $password $jarfile $kid
jarsigner -keystore ..\\keys\\.keystore -storepass $password $jarfile $kid <<EOF
EOF
fi
if [ $makecabs -ne 0 ]; then
echo '#' signing cab $1 $2 key:$key kid:$kid par:$par
certfile="..\\keys\\"${keyc[$2]}
keyfile="..\\keys\\"${keyk[$2]}
cabfile="..\\docroot\\code\\jars\\$key\\$cls.cab"
cp -f ../docroot/code/jars/unsigned/$cls.cab ../docroot/code/jars/$key/$cls.cab
if [ $noauto -eq 1 ]; then
signcode -j javasign.dll -jp "low" -spc $certfile -v $keyfile -n $key $cabfile
else
echo '#' autosign.vbs $certfile $keyfile $cabfile $password $key $nam
cmd /c cscript autosign.vbs $certfile $keyfile $cabfile $password $key $nam
fi
signcode -x -t http://timestamp.verisign.com/scripts/timstamp.dll -tr 5 $cabfile
chktrust $cabfile
fi
return 0
You need different certificates for jar and cab signing. The applet tag to support both
jars and cabs needs some fussing too.

Similar Messages

  • Signed java applets not working on lion?

    After downloading java plugin on osx Lion, signed java applets fail to start. This is the error I get in java console, seems like the certificate is not imported to keychain? any workaround?:
    java.lang.reflect.InvocationTargetException
        at java.awt.EventQueue.invokeAndWait(EventQueue.java:1078)
        at javax.swing.SwingUtilities.invokeAndWait(SwingUtilities.java:1326)
        at com.koutbo6.gui.swing.GameApplet.init(Unknown Source)
        at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Plugin2Manager.ja va:1640)
        at java.lang.Thread.run(Thread.java:680)
    Caused by: java.security.AccessControlException: access denied (java.awt.AWTPermission setWindowAlwaysOnTop)
        at java.security.AccessControlContext.checkPermission(AccessControlContext.java:37 4)
        at java.security.AccessController.checkPermission(AccessController.java:546)
        at java.lang.SecurityManager.checkPermission(SecurityManager.java:532)
        at java.awt.Window.setAlwaysOnTop(Window.java:2038)
        at com.koutbo6.gui.swing.Q.<init>(Unknown Source)
        at com.koutbo6.gui.swing.GameApplet.a(Unknown Source)
        at com.koutbo6.gui.swing.P.run(Unknown Source)
        at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:199)
        at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:677)
        at java.awt.EventQueue.access$000(EventQueue.java:85)
        at java.awt.EventQueue$1.run(EventQueue.java:638)
        at java.awt.EventQueue$1.run(EventQueue.java:636)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlConte xt.java:87)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:647)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:29 6)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:20 1)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

    All these settings were set as expected, yet im still facing the same problem
    I enabled security debugging and this is the information I got:
    security: Loading certificates from Deployment session certificate store
    security: Loaded certificates from Deployment session certificate store
    security: Loading Root CA certificates from from keychain
    security: Loaded Root CA certificates from from keychain
    security: Validate the certificate chain using CertPath API
    security: Obtain certificate collection in Root CA certificate store
    security: Obtain certificate collection in Root CA certificate store
    security: Obtain certificate collection in Root CA certificate store
    security: jpicertstore.cert.getkeystore
    security: No timestamping info available
    security: Cannot find jurisdiction list file
    security: The CRL support is enabled
    security: KB Programming Analysis and PC Operating Center
    security: ObjectId: 2.5.29.31 Criticality=false
    CRLDistributionPoints [
      [DistributionPoint:
         [URIName: http://crl.thawte.com/ThawteCodeSigningCA.crl]
    security: Thawte Code Signing CA
    security: ObjectId: 2.5.29.31 Criticality=false
    CRLDistributionPoints [
      [DistributionPoint:
         [URIName: http://crl.thawte.com/ThawtePremiumServerCA.crl]
    security: Use CRL setting from certificate
    security: The OCSP support is enabled
    security: KB Programming Analysis and PC Operating Center
    security: ObjectId: 1.3.6.1.5.5.7.1.1 Criticality=false
    AuthorityInfoAccess [
       accessMethod: 1.3.6.1.5.5.7.48.1
       accessLocation: URIName: http://ocsp.thawte.com]
    security: This certificate does not have AIA extension
    security: Use OCSP setting from certificate
    network: Cache entry not found [url: http://crl.thawte.com/ThawtePremiumServerCA.crl, version: null]
    network: Connecting http://crl.thawte.com/ThawtePremiumServerCA.crl with proxy=DIRECT
    network: Connecting http://crl.thawte.com:80/ with proxy=DIRECT
    network: Downloading resource: http://crl.thawte.com/ThawtePremiumServerCA.crl
              Content-Length: 181,278
              Content-Encoding: null
    network: Wrote URL http://crl.thawte.com/ThawtePremiumServerCA.crl to File /Users/koutbo6/Library/Caches/Java/cache/6.0/38/2fb889a6-30a08967-temp
    network: Connecting http://ocsp.thawte.com/ with proxy=DIRECT
    network: Connecting http://ocsp.thawte.com:80/ with proxy=DIRECT
    network: CleanupThread used 990300 us
    network: Connecting http://ocsp.thawte.com/ with proxy=DIRECT
    network: Connecting http://ocsp.thawte.com:80/ with proxy=DIRECT
    security: This certificate has been revoked
    Ignored exception: sun.security.validator.ValidatorException: PKIX path validation failed: java.security.cert.CertPathValidatorException: Certificate has been revoked

  • Using external libraries over signed Java applet: InvocationTargetException when running locally with 7u51

    We have a signed Java applet that uses external libraries, specifically the OpenOffice application libraries.
    We have a problem running Java applet with 7u51 of "InvocationTargetException" when use these libraries OpenOffice, that is not signed; regardless of the browser used (Mozilla Firefox, Explorer, Chrome).
    Please, as you could solve this problem?   This problem can not arose with 7u40 and earlier..
    Best regards.

    In  java - JRE 1.7.0_51-b13 and signed applet - Stack Overflow found solution. I've missed to add in external jars manifest this: 
    Trusted-Library: true

  • Problem converting a (working) Java program into an applet

    When I'm trying to access an Image through a call to :
    mediaTracker = new MediaTracker(this);
    backGroundImage = getImage(getDocumentBase(), "background.gif");
    mediaTracker.addImage(backGroundImage, 0);
    I'm getting a nullPointerException as a result of the call to getDocumentBase() :
    C:\Chantier\Java\BallsApplet
    AppletViewer testBallsApplet.htmljava.lang.NullPointerException
    at java.applet.Applet.getDocumentBase(Applet.java:125)
    at Balls.<init>(Balls.java:84)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstruct
    orAccessorImpl.java:39)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingC
    onstructorAccessorImpl.java:27)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:274)
    at java.lang.Class.newInstance0(Class.java:296)
    at java.lang.Class.newInstance(Class.java:249)
    at sun.applet.AppletPanel.createApplet(AppletPanel.java:548)
    at sun.applet.AppletPanel.runLoader(AppletPanel.java:477)
    at sun.applet.AppletPanel.run(AppletPanel.java:290)
    at java.lang.Thread.run(Thread.java:536)
    It seems very weird to me... :-/
    (all the .gif files are in the same directory than the .class files)
    The problem appears with AppletViewer trying to open an HTML file
    containing :
    <HTML>
    <APPLET CODE="Balls.class" WIDTH=300 HEIGHT=211>
    </APPLET>
    </HTML>
    (I tried unsuccessfully the CODEBASE and ARCHIVE attributes, with and without putting the .gif and .class into a .jar file)
    I can't find the solution by myself, so, I'd be very glad if someone could help
    me with this... Thank you very much in advance ! :-)
    You'll find below the source of a small game that I wrote and debugged (without
    problem) and that I'm now (unsuccessfully) trying to convert into an Applet :
    import java.applet.Applet;
    import java.awt.*;
    import java.awt.event.*;
    import java.util.*;
    import java.net.URL;
    public class Balls extends java.applet.Applet implements Runnable, KeyListener
    private Image offScreenImage;
    private Image backGroundImage;
    private Image[] gifImages = new Image[6];
    private Image PressStart ;
    private Sprite pressStartSprite = null ;
    private Image YouLose ;
    private Sprite YouLoseSprite = null ;
    private Image NextStage ;
    private Sprite NextStageSprite = null ;
    private Image GamePaused ;
    private Sprite GamePausedSprite = null ;
    //offscreen graphics context
    private Graphics offScreenGraphicsCtx;
    private Thread animationThread;
    private MediaTracker mediaTracker;
    private SpriteManager spriteManager;
    //Animation display rate, 12fps
    private int animationDelay = 83;
    private Random rand = new Random(System.currentTimeMillis());
    private int message = 0 ; // 0 = no message (normal playing phase)
    // 1 = press space to start
    // 2 = press space for next level
    // 3 = game PAUSED, press space to unpause
    // 4 = You LOSE
    public static void main(String[] args)
    try
    new Balls() ;
    catch (java.net.MalformedURLException e)
    System.out.println(e);
    }//end main
    public void start()
    //Create and start animation thread
    animationThread = new Thread(this);
    animationThread.start();
    public void init()
    try
    new Balls() ;
    catch (java.net.MalformedURLException e)
    System.out.println(e);
    public Balls() throws java.net.MalformedURLException
    {//constructor
    // Load and track the images
    mediaTracker = new MediaTracker(this);
    backGroundImage = getImage(getDocumentBase(), "background.gif");
    mediaTracker.addImage(backGroundImage, 0);
    PressStart = getImage(getDocumentBase(), "press_start.gif");
    mediaTracker.addImage(PressStart, 0);
    NextStage = getImage(getDocumentBase(), "stage_complete.gif");
    mediaTracker.addImage(NextStage, 0);
    GamePaused = getImage(getDocumentBase(), "game_paused.gif");
    mediaTracker.addImage(GamePaused, 0);
    YouLose = getImage(getDocumentBase(), "you_lose.gif");
    mediaTracker.addImage(YouLose, 0);
    //Get and track 6 images to use
    // for sprites
    gifImages[0] = getImage(getDocumentBase(), "blueball.gif");
    mediaTracker.addImage(gifImages[0], 0);
    gifImages[1] = getImage(getDocumentBase(), "redball.gif");
    mediaTracker.addImage(gifImages[1], 0);
    gifImages[2] = getImage(getDocumentBase(), "greenball.gif");
    mediaTracker.addImage(gifImages[2], 0);
    gifImages[3] = getImage(getDocumentBase(), "yellowball.gif");
    mediaTracker.addImage(gifImages[3], 0);
    gifImages[4] = getImage(getDocumentBase(), "purpleball.gif");
    mediaTracker.addImage(gifImages[4], 0);
    gifImages[5] = getImage(getDocumentBase(), "orangeball.gif");
    mediaTracker.addImage(gifImages[5], 0);
    //Block and wait for all images to
    // be loaded
    try {
    mediaTracker.waitForID(0);
    }catch (InterruptedException e) {
    System.out.println(e);
    }//end catch
    //Base the Frame size on the size
    // of the background image.
    //These getter methods return -1 if
    // the size is not yet known.
    //Insets will be used later to
    // limit the graphics area to the
    // client area of the Frame.
    int width = backGroundImage.getWidth(this);
    int height = backGroundImage.getHeight(this);
    //While not likely, it may be
    // possible that the size isn't
    // known yet. Do the following
    // just in case.
    //Wait until size is known
    while(width == -1 || height == -1)
    System.out.println("Waiting for image");
    width = backGroundImage.getWidth(this);
    height = backGroundImage.getHeight(this);
    }//end while loop
    //Display the frame
    setSize(width,height);
    setVisible(true);
    //setTitle("Balls");
    //Anonymous inner class window
    // listener to terminate the
    // program.
    this.addWindowListener
    (new WindowAdapter()
    {public void windowClosing(WindowEvent e){System.exit(0);}});
    // Add a key listener for keyboard management
    this.addKeyListener(this);
    }//end constructor
    public void run()
    Point center_place = new Point(
    backGroundImage.getWidth(this)/2-PressStart.getWidth(this)/2,
    backGroundImage.getHeight(this)/2-PressStart.getHeight(this)/2) ;
    pressStartSprite = new Sprite(this, PressStart, center_place, new Point(0, 0),true);
    center_place = new Point(
    backGroundImage.getWidth(this)/2-NextStage.getWidth(this)/2,
    backGroundImage.getHeight(this)/2-NextStage.getHeight(this)/2) ;
    NextStageSprite = new Sprite(this, NextStage, center_place, new Point(0, 0),true);
    center_place = new Point(
    backGroundImage.getWidth(this)/2-GamePaused.getWidth(this)/2,
    backGroundImage.getHeight(this)/2-GamePaused.getHeight(this)/2) ;
    GamePausedSprite = new Sprite(this, GamePaused, center_place, new Point(0, 0),true);
    center_place = new Point(
    backGroundImage.getWidth(this)/2-YouLose.getWidth(this)/2,
    backGroundImage.getHeight(this)/2-YouLose.getHeight(this)/2) ;
    YouLoseSprite = new Sprite(this, YouLose, center_place, new Point(0, 0),true);
    BackgroundImage bgimage = new BackgroundImage(this, backGroundImage) ;
    for (;;) // infinite loop
    long time = System.currentTimeMillis();
    message = 1 ; // "press start to begin"
    while (message != 0)
    repaint() ;
    try
    time += animationDelay;
    Thread.sleep(Math.max(0,time - System.currentTimeMillis()));
    catch (InterruptedException e)
    System.out.println(e);
    }//end catch
    boolean you_lose = false ;
    for (int max_speed = 7 ; !you_lose && max_speed < 15 ; max_speed++)
    for (int difficulty = 2 ; !you_lose && difficulty < 14 ; difficulty++)
    boolean unfinished_stage = true ;
    spriteManager = new SpriteManager(bgimage);
    spriteManager.setParameters(difficulty, max_speed) ;
    //Create 15 sprites from 6 gif
    // files.
    for (int cnt = 0; cnt < 15; cnt++)
    if (cnt == 0)
    Point position = new Point(
    backGroundImage.getWidth(this)/2-gifImages[0].getWidth(this)/2,
    backGroundImage.getHeight(this)/2-gifImages[0].getHeight(this)/2) ;
    spriteManager.addSprite(makeSprite(position, 0, false));
    else
    Point position = spriteManager.
    getEmptyPosition(new Dimension(gifImages[0].getWidth(this),
    gifImages[0].getHeight(this)));
    if (cnt < difficulty)
    spriteManager.addSprite(makeSprite(position, 1, true));
    else
    spriteManager.addSprite(makeSprite(position, 2, true));
    }//end for loop
    time = System.currentTimeMillis();
    while (!spriteManager.getFinishedStage() && !spriteManager.getGameOver())
    // Loop, sleep, and update sprite
    // positions once each 83
    // milliseconds
    spriteManager.update();
    repaint();
    try
    time += animationDelay;
    Thread.sleep(Math.max(0,time - System.currentTimeMillis()));
    catch (InterruptedException e)
    System.out.println(e);
    }//end catch
    }//end while loop
    if (spriteManager.getGameOver())
    message = 4 ;
    while (message != 0)
    spriteManager.update();
    repaint();
    try
    time += animationDelay;
    Thread.sleep(Math.max(0,time - System.currentTimeMillis()));
    catch (InterruptedException e)
    System.out.println(e);
    }//end catch
    you_lose = true ;
    if (spriteManager.getFinishedStage())
    message = 2 ;
    while (message != 0)
    spriteManager.update();
    repaint();
    try
    time += animationDelay;
    Thread.sleep(Math.max(0,time - System.currentTimeMillis()));
    catch (InterruptedException e)
    System.out.println(e);
    }//end catch
    } // end for difficulty loop
    } // end for max_speed
    } // end infinite loop
    }//end run method
    private Sprite makeSprite(Point position, int imageIndex, boolean wind)
    return new Sprite(
    this,
    gifImages[imageIndex],
    position,
    new Point(rand.nextInt() % 5,
    rand.nextInt() % 5),
    wind);
    }//end makeSprite()
    //Overridden graphics update method
    // on the Frame
    public void update(Graphics g)
    //Create the offscreen graphics
    // context
    if (offScreenGraphicsCtx == null)
    offScreenImage = createImage(getSize().width,
    getSize().height);
    offScreenGraphicsCtx = offScreenImage.getGraphics();
    }//end if
    if (message == 0)
    // Draw the sprites offscreen
    spriteManager.drawScene(offScreenGraphicsCtx);
    else if (message == 1)
    pressStartSprite.drawSpriteImage(offScreenGraphicsCtx);
    else if (message == 2)
    NextStageSprite.drawSpriteImage(offScreenGraphicsCtx);
    else if (message == 3)
    GamePausedSprite.drawSpriteImage(offScreenGraphicsCtx);
    else if (message == 4)
    YouLoseSprite.drawSpriteImage(offScreenGraphicsCtx);
    // Draw the scene onto the screen
    if(offScreenImage != null)
    g.drawImage(offScreenImage, 0, 0, this);
    }//end if
    }//end overridden update method
    //Overridden paint method on the
    // Frame
    public void paint(Graphics g)
    //Nothing required here. All
    // drawing is done in the update
    // method above.
    }//end overridden paint method
    // Methods to handle Keyboard event
    public void keyPressed(KeyEvent evt)
    int key = evt.getKeyCode(); // Keyboard code for the pressed key.
    if (key == KeyEvent.VK_SPACE)
    if (message != 0)
    message = 0 ;
    else
    message = 3 ;
    if (key == KeyEvent.VK_LEFT)
    if (spriteManager != null)
    spriteManager.goLeft() ;
    else if (key == KeyEvent.VK_RIGHT)
    if (spriteManager != null)
    spriteManager.goRight() ;
    else if (key == KeyEvent.VK_UP)
    if (spriteManager != null)
    spriteManager.goUp() ;
    else if (key == KeyEvent.VK_DOWN)
    if (spriteManager != null)
    spriteManager.goDown() ;
    if (spriteManager != null)
    spriteManager.setMessage(message) ;
    public void keyReleased(KeyEvent evt)
    public void keyTyped(KeyEvent e)
    char key = e.getKeyChar() ;
    //~ if (key == 's')
    //~ stop = true ;
    //~ else if (key == 'c')
    //~ stop = false ;
    //~ spriteManager.setStop(stop) ;
    }//end class Balls
    //===================================//
    class BackgroundImage
    private Image image;
    private Component component;
    private Dimension size;
    public BackgroundImage(
    Component component,
    Image image)
    this.component = component;
    size = component.getSize();
    this.image = image;
    }//end construtor
    public Dimension getSize(){
    return size;
    }//end getSize()
    public Image getImage(){
    return image;
    }//end getImage()
    public void setImage(Image image){
    this.image = image;
    }//end setImage()
    public void drawBackgroundImage(Graphics g)
    g.drawImage(image, 0, 0, component);
    }//end drawBackgroundImage()
    }//end class BackgroundImage
    //===========================
    class SpriteManager extends Vector
    private BackgroundImage backgroundImage;
    private boolean finished_stage = false ;
    private boolean game_over = false ;
    private int difficulty ;
    private int max_speed ;
    public boolean getFinishedStage()
    finished_stage = true ;
    for (int cnt = difficulty ; cnt < size(); cnt++)
    Sprite sprite = (Sprite)elementAt(cnt);
    if (!sprite.getEaten())
    finished_stage = false ;
    return finished_stage ;
    public boolean getGameOver() {return game_over ;}
    public void setParameters(int diff, int speed)
    difficulty = diff ;
    max_speed = speed ;
    finished_stage = false ;
    game_over = false ;
    Sprite sprite;
    for (int cnt = 0;cnt < size(); cnt++)
    sprite = (Sprite)elementAt(cnt);
    sprite.setSpeed(max_speed) ;
    public SpriteManager(BackgroundImage backgroundImage)
    this.backgroundImage = backgroundImage ;
    }//end constructor
    public Point getEmptyPosition(Dimension spriteSize)
    Rectangle trialSpaceOccupied = new Rectangle(0, 0,
    spriteSize.width,
    spriteSize.height);
    Random rand = new Random(System.currentTimeMillis());
    boolean empty = false;
    int numTries = 0;
    // Search for an empty position
    while (!empty && numTries++ < 100)
    // Get a trial position
    trialSpaceOccupied.x =
    Math.abs(rand.nextInt() %
    backgroundImage.
    getSize().width);
    trialSpaceOccupied.y =
    Math.abs(rand.nextInt() %
    backgroundImage.
    getSize().height);
    // Iterate through existing
    // sprites, checking if position
    // is empty
    boolean collision = false;
    for(int cnt = 0;cnt < size(); cnt++)
    Rectangle testSpaceOccupied = ((Sprite)elementAt(cnt)).getSpaceOccupied();
    if (trialSpaceOccupied.intersects(testSpaceOccupied))
    collision = true;
    }//end if
    }//end for loop
    empty = !collision;
    }//end while loop
    return new Point(trialSpaceOccupied.x, trialSpaceOccupied.y);
    }//end getEmptyPosition()
    public void update()
    Sprite sprite;
    // treat special case of sprite #0 (the player)
    sprite = (Sprite)elementAt(0);
    sprite.updatePosition() ;
    int hitIndex = testForCollision(sprite);
    if (hitIndex != -1)
    if (hitIndex < difficulty)
    { // if player collides with an hunter (red ball), he loose
    sprite.setEaten() ;
    game_over = true ;
    else
    // if player collides with an hunted (green ball), he eats the green
    ((Sprite)elementAt(hitIndex)).setEaten() ;
    //Iterate through sprite list
    for (int cnt = 1;cnt < size(); cnt++)
    sprite = (Sprite)elementAt(cnt);
    //Update a sprite's position
    sprite.updatePosition();
    //Test for collision. Positive
    // result indicates a collision
    hitIndex = testForCollision(sprite);
    if (hitIndex >= 0)
    //a collision has occurred
    bounceOffSprite(cnt,hitIndex);
    }//end if
    }//end for loop
    }//end update
    public void setMessage(int message)
    Sprite sprite;
    //Iterate through sprite list
    for (int cnt = 0;cnt < size(); cnt++)
    sprite = (Sprite)elementAt(cnt);
    //Update a sprite's stop status
    sprite.setMessage(message);
    }//end for loop
    }//end update
    public void goLeft()
    Sprite sprite = (Sprite)elementAt(0);
    sprite.goLeft() ;
    public void goRight()
    Sprite sprite = (Sprite)elementAt(0);
    sprite.goRight() ;
    public void goUp()
    Sprite sprite = (Sprite)elementAt(0);
    sprite.goUp() ;
    public void goDown()
    Sprite sprite = (Sprite)elementAt(0);
    sprite.goDown() ;
    private int testForCollision(Sprite testSprite)
    //Check for collision with other
    // sprites
    Sprite sprite;
    for (int cnt = 0;cnt < size(); cnt++)
    sprite = (Sprite)elementAt(cnt);
    if (sprite == testSprite)
    //don't check self
    continue;
    //Invoke testCollision method
    // of Sprite class to perform
    // the actual test.
    if (testSprite.testCollision(sprite))
    //Return index of colliding
    // sprite
    return cnt;
    }//end for loop
    return -1;//No collision detected
    }//end testForCollision()
    private void bounceOffSprite(int oneHitIndex, int otherHitIndex)
    //Swap motion vectors for
    // bounce algorithm
    Sprite oneSprite = (Sprite)elementAt(oneHitIndex);
    Sprite otherSprite = (Sprite)elementAt(otherHitIndex);
    Point swap = oneSprite.getMotionVector();
    oneSprite.setMotionVector(otherSprite.getMotionVector());
    otherSprite.setMotionVector(swap);
    }//end bounceOffSprite()
    public void drawScene(Graphics g)
    //Draw the background and erase
    // sprites from graphics area
    //Disable the following statement
    // for an interesting effect.
    backgroundImage.drawBackgroundImage(g);
    //Iterate through sprites, drawing
    // each sprite
    for (int cnt = 0;cnt < size(); cnt++)
    ((Sprite)elementAt(cnt)).drawSpriteImage(g);
    }//end drawScene()
    public void addSprite(Sprite sprite)
    addElement(sprite);
    }//end addSprite()
    }//end class SpriteManager
    //===================================//
    class Sprite
    private Component component;
    private Image image;
    private Rectangle spaceOccupied;
    private Point motionVector;
    private Rectangle bounds;
    private Random rand;
    private int message = 0 ; // number of message currently displayed (0 means "no message" = normal game)
    private int max_speed = 7 ;
    private boolean eaten = false ; // when a green sprite is eaten, it is no longer displayed on screen
    private boolean wind = true ;
    private boolean go_left = false ;
    private boolean go_right = false ;
    private boolean go_up = false ;
    private boolean go_down = false ;
    public Sprite(Component component,
    Image image,
    Point position,
    Point motionVector,
    boolean Wind
    //Seed a random number generator
    // for this sprite with the sprite
    // position.
    rand = new Random(position.x);
    this.component = component;
    this.image = image;
    setSpaceOccupied(new Rectangle(
    position.x,
    position.y,
    image.getWidth(component),
    image.getHeight(component)));
    this.motionVector = motionVector;
    this.wind = Wind ;
    //Compute edges of usable graphics
    // area in the Frame.
    int topBanner = ((Container)component).getInsets().top;
    int bottomBorder = ((Container)component).getInsets().bottom;
    int leftBorder = ((Container)component).getInsets().left;
    int rightBorder = ((Container)component).getInsets().right;
    bounds = new Rectangle( 0 + leftBorder, 0 + topBanner
    , component.getSize().width - (leftBorder + rightBorder)
    , component.getSize().height - (topBanner + bottomBorder));
    }//end constructor
    public void setMessage(int message_number)
    message = message_number ;
    public void setSpeed(int speed)
    max_speed = speed ;
    public void goLeft()
    go_left = true ;
    public void goRight()
    go_right = true ;
    public void goUp()
    go_up = true ;
    public void goDown()
    go_down = true ;
    public void setEaten()
    eaten = true ;
    setSpaceOccupied(new Rectangle(4000,4000,0,0)) ;
    public boolean getEaten()
    return eaten ;
    public Rectangle getSpaceOccupied()
    return spaceOccupied;
    }//end getSpaceOccupied()
    void setSpaceOccupied(Rectangle spaceOccupied)
    this.spaceOccupied = spaceOccupied;
    }//setSpaceOccupied()
    public void setSpaceOccupied(
    Point position){
    spaceOccupied.setLocation(
    position.x, position.y);
    }//setSpaceOccupied()
    public Point getMotionVector(){
    return motionVector;
    }//end getMotionVector()
    public void setMotionVector(
    Point motionVector){
    this.motionVector = motionVector;
    }//end setMotionVector()
    public void setBounds(Rectangle bounds)
    this.bounds = bounds;
    }//end setBounds()
    public void updatePosition()
    Point position = new Point(spaceOccupied.x, spaceOccupied.y);
    if (message != 0)
    return ;
    //Insert random behavior. During
    // each update, a sprite has about
    // one chance in 10 of making a
    // random change to its
    // motionVector. When a change
    // occurs, the motionVector
    // coordinate values are forced to
    // fall between -7 and 7. This
    // puts a cap on the maximum speed
    // for a sprite.
    if (!wind)
    if (go_left)
    motionVector.x -= 2 ;
    if (motionVector.x < -15)
    motionVector.x = -14 ;
    go_left = false ;
    if (go_right)
    motionVector.x += 2 ;
    if (motionVector.x > 15)
    motionVector.x = 14 ;
    go_right = false ;
    if (go_up)
    motionVector.y -= 2 ;
    if (motionVector.y < -15)
    motionVector.y = -14 ;
    go_up = false ;
    if (go_down)
    motionVector.y += 2 ;
    if (motionVector.y > 15)
    motionVector.y = 14 ;
    go_down = false ;
    else if(rand.nextInt() % 7 == 0)
    Point randomOffset =
    new Point(rand.nextInt() % 3,
    rand.nextInt() % 3);
    motionVector.x += randomOffset.x;
    if(motionVector.x >= max_speed)
    motionVector.x -= max_speed;
    if(motionVector.x <= -max_speed)
    motionVector.x += max_speed ;
    motionVector.y += randomOffset.y;
    if(motionVector.y >= max_speed)
    motionVector.y -= max_speed;
    if(motionVector.y <= -max_speed)
    motionVector.y += max_speed;
    }//end if
    //Move the sprite on the screen
    position.translate(motionVector.x, motionVector.y);
    //Bounce off the walls
    boolean bounceRequired = false;
    Point tempMotionVector = new Point(
    motionVector.x,
    motionVector.y);
    //Handle walls in x-dimension
    if (position.x < bounds.x)
    bounceRequired = true;
    position.x = bounds.x;
    //reverse direction in x
    tempMotionVector.x = -tempMotionVector.x;
    else if ((position.x + spaceOccupied.width) > (bounds.x + bounds.width))
    bounceRequired = true;
    position.x = bounds.x +
    bounds.width -
    spaceOccupied.width;
    //reverse direction in x
    tempMotionVector.x =
    -tempMotionVector.x;
    }//end else if
    //Handle walls in y-dimension
    if (position.y < bounds.y)
    bounceRequired = true;
    position.y = bounds.y;
    tempMotionVector.y = -tempMotionVector.y;
    else if ((position.y + spaceOccupied.height)
    > (bounds.y + bounds.height))
    bounceRequired = true;
    position.y = bounds.y +
    bounds.height -
    spaceOccupied.height;
    tempMotionVector.y =
    -tempMotionVector.y;
    }//end else if
    if(bounceRequired)
    //save new motionVector
    setMotionVector(
    tempMotionVector);
    //update spaceOccupied
    setSpaceOccupied(position);
    }//end updatePosition()
    public void drawSpriteImage(Graphics g)
    if (!eaten)
    g.drawImage(image,
    spaceOccupied.x,
    spaceOccupied.y,
    component);
    }//end drawSpriteImage()
    public boolean testCollision(Sprite testSprite)
    //Check for collision with
    // another sprite
    if (testSprite != this)
    return spaceOccupied.intersects(
    testSprite.getSpaceOccupied());
    }//end if
    return false;
    }//end testCollision
    }//end Sprite class
    //===================================//
    Thanks for your help...

    Sorry,
    Can you tell me how do you solve it because I have got the same problem.
    Can you indicate me the topic where did you find solution.
    Thank in advance.

  • Is there an easy way to call a java class from an applet?

    Does anyone know of an easy way to call a server based java class from an applet? Has anyone done it or came across it? If yes how/where?
    Cheers, Chris.

    I'm not sure about the issue. Are you talking about "servelets"? "RMI"? Take a look at those issues.

  • How to Call Livelink Archive Java Viewer(IXOS-JavaViewer Applet )

    Hi,
    I want you to teach,How to call Livelink Archive Java Viewer(IXOS-JavaViewer Applet)
    I want to call it in the following images.
    When the button is pushed, I want to call Livelink Archive Java Viewer.
    The method was not able to be taught though it inquired of the help desk of
    IXOS.
    Please teach me!
    Reagard

    Hi Tomohiro,
    Is this issue being resolved? which version of ixos server and viewer are you using?
    regards,
    Jess

  • Java.lang.NoSuchMethodError:sun.applet.AppletPanel.changeFrameAppContext

    What does this mean?
    java.lang.NoSuchMethodError:sun.applet.AppletPanel.changeFrameAppContext(Ljava/awt/Frame;Lsun/awt/AppContext;)V
         at sun.plugin.viewer.IExplorerPluginObject.appletStateChanged(Unknown Source)
         at sun.applet.AppletEventMulticaster.appletStateChanged(AppletEventMulticaster.java:32)
         at sun.applet.AppletPanel.dispatchAppletEvent(AppletPanel.java:233)
         at sun.applet.AppletPanel.runLoader(AppletPanel.java:532)
         at sun.applet.AppletPanel.run(AppletPanel.java:293)
         at java.lang.Thread.run(Thread.java:536)
    and where does it occur?
    thanks in advance, ulrich

    I've started seeing this as well since installing 1.4.2. Anyone have any ideas on this?
    What does this mean?
    java.lang.NoSuchMethodError:sun.applet.AppletPanel.chan
    eFrameAppContext(Ljava/awt/Frame;Lsun/awt/AppContext;)V
    at
    sun.plugin.viewer.IExplorerPluginObject.appletStateCha
    ged(Unknown Source)
    at
    sun.applet.AppletEventMulticaster.appletStateChanged(A
    pletEventMulticaster.java:32)
    at
    sun.applet.AppletPanel.dispatchAppletEvent(AppletPanel
    java:233)
    at
    sun.applet.AppletPanel.runLoader(AppletPanel.java:532)
         at sun.applet.AppletPanel.run(AppletPanel.java:293)
         at java.lang.Thread.run(Thread.java:536)
    and where does it occur?
    thanks in advance, ulrich

  • Calling Java Script Function from Applet

    How can I call the Java Script method from Applet. This should work both on IE and NN running on both Windows NT and solaris. I know it is possible to call the function in Java script using JSObject. But I don't have JSObject at run time. Please let me know how to call Java Script function from applet without using JSObject.

    For Java <-> JavaScript communication in Netscape / Mozilla see:
    http://devedge.netscape.com/library/manuals/2000/javascript/1.5/guide/lc.html#1014290
    http://devedge.netscape.com/library/manuals/2000/javascript/1.5/guide/lc.html#1008480

  • Significance of "You need to enable Java to see this applet"

    i am a novish for applet programming.
    i have written the code for drawing a spectrum.
    import java.applet.*;
    import java.awt.*;
    public class DrawingWithColor1 extends Applet {
    int width, height;
    int N = 25; // the number of colors created
    Color[] spectrum; // an array of elements, each of type Color
    Color[] spectrum2; // another array
    public void init() {
    width = getSize().width;
    height = getSize().height;
    setBackground( Color.black );
    // Allocate the arrays; make them "N" elements long
    spectrum = new Color[ N ];
    spectrum2 = new Color[ N ];
    // Generate the colors and store them in the arrays.
    for ( int i = 1; i <= N; ++i ) {
    // The three numbers passed to the Color() constructor
    // are RGB components in the range [0,1].
    // The casting to (float) is done so that the divisions will be
    // done with floating point numbers, yielding fractional quotients.
    // As i goes from 1 to N, this color goes from almost black to white.
    spectrum[ i-1 ] = new Color( i/(float)N, i/(float)N, i/(float)N );
    // As i goes from 1 to N, this color goes from almost pure green to pure red.
    spectrum2[ i-1 ] = new Color( i/(float)N, (N-i)/(float)N, 0 );
    public void paint( Graphics g ) {
    int step = 90 / N;
    for ( int i = 0; i < N; ++i ) {
    g.setColor( spectrum[ i ] );
    g.fillArc( 0, 0, 2*width, 2*height, 90+i*step, step+1 );
    g.setColor( spectrum2[ i ] );
    g.fillArc( width/3, height/3, 4*width/3, 4*height/3, 90+i*step, step+1 );
    Then it is requires to enable java to see this applet.
    i went to intenet explorer->tools->internet options->advanced->enabled jre(sun)and ok
    Please help me how to proceed further to view the final output

    If you're using Microsoft's JVM, I think you have to restart the browser after turning the JVM on.
    But it's an old, crappy JVM anyway.
    Install the Java plug-in from Sun.

  • Cannot enable Java 1.6 (Java SE 6) for Applets

    On my system (Leopard 10.5.7 - latest patches), Java for Mac OS X 10.5 Update 4 it seems to be impossible to enable Java 1.6 (aka Java SE 6) for use by applets in the browser. I moved the SE 6 to the top in the Java Preferences app.
    In the Browser (both Safari 4 and Firefox 3), go to http://javatester.org/version.html or http://www.java.com/en/download/help/testvm.xml
    to get the Java Version available to applets. It shows:
    Java Version: 1.5.0_19 from Apple
    On the command line we see that the right version is selected:
    $ java -version
    java version "1.6.0_13"
    Java(TM) SE Runtime Environment (build 1.6.0_13-b03-211)
    Java HotSpot(TM) 64-Bit Server VM (build 11.3-b02-83, mixed mode)
    This is a long standing problem and there is no fix yet. This basically prevents Mac Users from using Java Applets that require Java SE 6 / Java 1.6.

    Richard is correct: Java 1.6 in Mac OS X 10.5 is only 64-bit and I know of no full 64-bit web browsers currently available. One person has complied a very rudimentary browser just for running 64-bit web applets, though:
    http://www.ornl.gov/~t6p/Main/Utilities.html
    Otherwise you can only run 64-bit Java apps as standalone, not as web applets.
    Regards.

  • Signed java applet is very slow with 1.4.2_06

    We have an application which has a signed jar applets was working fine with Java Plug-in (JPI) version 1.4.1_02.
    Due to customer requirement they want to run the same applet with JPI version 1.4.2_06, After JPI upgrade the applet is running slow.
    I am not sure what sun has changed the security settings in 1.4.2_06. So, Can some one give there thoughts on why would it run slow because of JPI changes.
    Thanks in advance.
    Aj

    Hi,
    It is nothing to do with Signed applet.
    If URL Connection 's setDefaultCacheUses is set to false then this is causing to run the Applet slow. As it require to download complete jar(if any) everytime.
    From 1.4.1_02 (CachedJarURLConnection.class in jaws.jar):
    public void connect()
    throws IOException
    if(!connected)
    jarFile = JarCache.get(jarFileURL);
    if(jarFile != null)
    {�.
    From 1.4.2_06 (CachedJarURLConnection.class in plugin.jar):
    public void connect()
    throws IOException
    if(!connected)
    if(getUseCaches())
    jarFile = JarCache.get(jarFileURL);
    if(jarFile != null)
    {�                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

  • Signed Java Applet

    0 down vote favorite
    I have written an applet with Netbeans. When I click on Clean and Build then Netbean create a jar file "Test.jar" and also another folder called lib in the same directory. I've signed the Test.jar. Basically this applet upload files to server with FTP. So when Applet loads into browser then I am able to select files but when I click on upload then it stops. So my question is:
    1. Have I also need to sign all dependent jar files?
    2. My directory structure is as follow:
    C:\AppletPage.html C:\Test.jar C:\lib
    and code in html file is as follow
    <applet code="UploadGUI.class"
    archive="test.jar"
    width=400 height=400></applet>Please advice me where am I wrong?
    Thanks in Advance

    Shahid_Hanif wrote:
    0 down vote favoriteHuhh?
    I have written an applet with Netbeans. ..My condolences.
    ..lWhen I click on Clean and Build then Netbean create a jar file "Test.jar" and also another folder called lib in the same directory. I've signed the Test.jar. Basically this applet upload files to server with FTP. ..If you deploy the applet in a Plug-In 2 architecture JRE and launch it using Java Web Start - it can be sand-boxed.
    ..So when Applet loads into browser then I am able to select files but when I click on upload then it stops. .. What messages appear in the Java Console? Does the code of the applet [swallow exceptions|http://pscode.org/javafaq.html#stacktrace] (<- link)?
    ..So my question is:
    1. Have I also need to sign all dependent jar files?What dependent Jars? The applet element shown lists only one Jar in the archive attribute.
    2. My directory structure is as follow:
    C:\AppletPage.html C:\Test.jar C:\libWhat (if anything) is in 'lib'?
    Edit 1:
    Also posted to [http://stackoverflow.com/questions/3740006/java-applet-sign]
    Edited by: AndrewThompson64 on Sep 18, 2010 1:07 PM

  • How to sign java applet policy to end user?

    i have putted my applet class on server, i want all end users can access it on server, how to sign the java.policy to there JRE?
    can anyone help me?

    I found this some where else. It shows how to sign an applet.
    START OF DOC
    How To Sign a Java Applet
    The purpose of this document is to document the steps required to sign and use an
    applet using a self-signed cert or CA authorized in the JDK 1.3 plugin.
    The original 9 steps of this process were posted by user irene67 on suns message forum:
    http://forums.java.sun.com/thread.jsp?forum=63&thread=132769
    -----begin irene67's original message -----
    These steps describe the creation of a self-signed applet. This is useful for testing purposes. For use of public reachable applets, there will be needed a "real" certificate issued by an authority like VeriSign or Thawte. (See step 10 - no user will import and trust a self-signed applet from an unkown developer).
    The applet needs to run in the plugin, as only the plugin is platform- and browser-independent. And without this indepence, it makes no sense to use java...
    1. Create your code for the applet as usual.
    It is not necessary to set any permissions or use security managers in
    the code.
    2. Install JDK 1.3
    Path for use of the following commands: [jdk 1.3 path]\bin\
    (commands are keytool, jar, jarsigner)
    Password for the keystore is any password. Only Sun knows why...
    perhaps ;-)
    3. Generate key: keytool -genkey -keyalg rsa -alias tstkey
    Enter keystore password: *******
    What is your first and last name?
    [Unknown]: Your Name
    What is the name of your organizational unit?
    [Unknown]: YourUnit
    What is the name of your organization?
    [Unknown]: YourOrg
    What is the name of your City or Locality?
    [Unknown]: YourCity
    What is the name of your State or Province?
    [Unknown]: YS
    What is the two-letter country code for this unit?
    [Unknown]: US
    Is CN=Your Name, OU=YourUnit, O=YourOrg, L=YourCity, ST=YS, C=US
    correct?
    [no]: yes
    (wait...)
    Enter key password for tstkey
    (RETURN if same as keystore password):
    (press [enter])
    4. Export key: keytool -export -alias tstkey -file tstcert.crt
    Enter keystore password: *******
    Certificate stored in file tstcert.crt
    5. Create JAR: jar cvf tst.jar tst.class
    Add all classes used in your project by typing the classnames in the
    same line.
    added manifest
    adding: tst.class(in = 849) (out= 536)(deflated 36%)
    6. Verify JAR: jar tvf tst.jar
    Thu Jul 27 12:58:28 GMT+02:00 2000 META-INF/
    68 Thu Jul 27 12:58:28 GMT+02:00 2000 META-INF/MANIFEST.MF
    849 Thu Jul 27 12:49:04 GMT+02:00 2000 tst.class
    7. Sign JAR: jarsigner tst.jar tstkey
    Enter Passphrase for keystore: *******
    8. Verifiy Signing: jarsigner -verify -verbose -certs tst.jar
    130 Thu Jul 27 13:04:12 GMT+02:00 2000 META-INF/MANIFEST.MF
    183 Thu Jul 27 13:04:12 GMT+02:00 2000 META-INF/TSTKEY.SF
    920 Thu Jul 27 13:04:12 GMT+02:00 2000 META-INF/TSTKEY.RSA
    Thu Jul 27 12:58:28 GMT+02:00 2000 META-INF/
    smk 849 Thu Jul 27 12:49:04 GMT+02:00 2000 tst.class
    X.509, CN=Your Name, OU=YourUnit, O=YourOrg, L=YourCity, ST=YS, C=US
    (tstkey)
    s = signature was verified
    m = entry is listed in manifest
    k = at least one certificate was found in keystore
    i = at least one certificate was found in identity scope
    jar verified.
    9. Create HTML-File for use of the Applet by the Sun Plugin 1.3
    (recommended to use HTML Converter Version 1.3)
    10. (Omitted See Below)
    -----end irene67's original message -----
    To make the plug-in work for any browser you have two options with the JDK 1.3 plugin.
    1) Is to export a cert request using the key tool and send it to a CA verification source like verisign.
    When the reponse comes back, import it into the keystore overwriting the original cert for the generated key.
    To export request:
    keytool -certreg -alias tstkey -file tstcert.req
    To import response:
    keytool -import -trustcacerts -alias tstkey -file careply.crt
    An applet signed with a cert that has been verified by a CA source will automatically be recognized by the plugin.
    2) For development or otherwise, you may want to just use your self-signed certificate.
    In that case, the JDK 1.3 plugin will recognize all certs that have a root cert located in the JDK 1.3 cacerts keystore.
    This means you can import your test certificate into this keystore and have the plugin recognize your jars when you sign them.
    To import self-signed certificate into the cacerts keystore, change directory to where the JDK plugin key store is located.
    For JDK 1.3.0_02: C:\Program Files\JavaSoft\JRE\1.3.0_02\lib\security
    For JDK 1.3.1: C:\Program Files\JavaSoft\JRE\1.3.1\lib\security
    Import your self-signed cert into the cacerts keystore:
    keytool -import -keystore cacerts -storepass changeit -file tstcert.crt
    (the password is literally 'changeit')
    Now, regardless of which method you use, the applet should be recognized as coming from a signed jar. The user can choose to activate it if he / she chooses. If your applet uses classes from multiple jars, for example Apache's Xerce's parser, you will need to sign those jars as well to allow them to execute in the client's brower. Otherwise, only the classes coming from the signed jar will work with the java.security.AllPermission setting and all other classes from unsigned jars will run in the sandbox.
    NOTE: Unless otherwise specified by the -keystore command in all keytool and jarsigner operations, the keystore file used is named '.keystore' in the user's home directory.
    The first time any keystore is accessed (including the default) it will be created and secured with the first password given by the user. There is no way to figure out the password if you forget it, but you can delete the default file and recreate it if necessary. For most operations, using the -keystore command is safer to keep from cluttering or messing up your default keystore.

  • I can't run signed Java Applets

    HI
    I have a java applet where I need to have acces to a local file, but I can't get IE to run the applet. (IE do not come with the Secutiy Warning window.)
    From the homepage, I run the applet via:
    <applet name=read_file code="read_file.class" width="0" height="0">
    <script language="JavaScript">
    document.read_file.file_read();
    </script>
    And the java code is:
    import java.applet.*;
    import java.awt.*;
    import java.io.*;
    public class read_file extends Applet{
         public char[][] ip;
         public int counter;
         public String te="dette er en java test";
    public void init() {
    public void file_read() {
         String str;
         counter =0;
         try {     
         BufferedReader in = new BufferedReader(new FileReader("c:\test\config.txt"));
              while ((str = in.readLine()) != null){
                   ip[counter] = str.toCharArray();
                   counter++;
              in.close();
         } catch(IOException e) {
    public void test() {
    I have signed the cab file with:
    "C:\Program Files\Microsoft.NET\SDK\v1.1\Bin\signcode.exe" -j "C:\Program Files\Microsoft.NET\SDK\v1.1\Bin\JAVASIGN.DLL" -jp High -v hjl.pvk -spc hjl.spc -n "oil" -i "www.vedikke endnu-.dk" "C:\Documents and Settings\rbn\Desktop\UIp\hjemmeside\read_file.cab"
    and maket the cab fil with:
    "C:\Documents and Settings\rbn\Desktop\UIp\cab\BIN\MAKECAB.EXE" "C:\Documents and Settings\rbn\Desktop\UIp\java\read_file.class" "C:\Documents and Settings\rbn\Desktop\UIp\hjemmeside\read_file.cab"
    What do I need to different ?

    I see no reason why you want to make this applet for the msjvm, here is how you do it with the sun sdk:
    Signing applets:
    http://forum.java.sun.com/thread.jsp?forum=63&thread=524815
    second post and last post for the java class file
    http://forum.java.sun.com/thread.jsp?forum=63&thread=409341
    4th post explaining how to set up your own policy with your own keystore
    (my copy and paste fingers are really getting tired now, copyd and pasted this
    for about a 100 times now)
    Notice some differences in the html code of the examples (they don't use the applet tag)
    If you're aiming for the msjvm because you don't want any support form MS in
    the near future and want to delever a legacy unsupported unmaintainable applet
    than I have to ask you how you compiled the applet. If you used the SUN sdk
    then are you aware that the msjvm cannot handle java version higher than 1.1?
    So you have to compile it like this: javac -source 1.3 -target 1.1 ....
    Your html file seems to be missng the cabbase value so how do you expect
    IE to find the cab file?

  • Signed JAVA applet still not connecting.

    I have a signed applet that works in my development environment, but as soon as I run it from my website, I get this:
    basic: Referencing classloader: sun.plugin.ClassLoaderInfo@1754ad2, refcount=1
    basic: Added progress listener: sun.plugin.util.GrayBoxPainter@a7c45e
    basic: Loading applet ...
    basic: Initializing applet ...
    basic: Starting applet ...
    basic: completed perf rollup
    network: Connecting socket://XXX.XX.X.XXX:XXXX with proxy=DIRECT
    And that's it, it stops. It never loads the UI, or anything.
    I believe the signing worked. I accepted the security certificate when it came up. I'm not getting any other errors (Like a security error).
    any help would be appreciated.
    I realize this isn't a lot of information, but It works fine in the IDE, so I don't think it's the code. I have stack traces in every try/catch, so I should see any exceptions. Also, this is being served by the same server as the web-page. It didn't work before I signed it, so I thought that would fix it.
    The only error like this that I find on the forums is an unsigned applet not working after it's moved to the server.
    Anyone have any ideas?
    Message was edited by:
    G_Bishop

    Make sure that the remote socket you are connecting to, i'm assuming probably your home computer? has the port(s) at your (local) router forwarding to your computer,or whichever computer is listening for the connection.
    -Airplane

Maybe you are looking for