RMI w/ SSL Applet

I'm trying to create an applet that will communicate via RMI/SSL. I tried the sample HelloWorld program in the JSSE Examples as well as implementing it in my own applet but I can't get past the "unable to find valid certification path to requested target." error, which seems to mean that the client doesnt have the required certificate from what I can gather via google anyway.
How do I get the client to accept this certificate via an applet? Can I bundle it with the .jar file? Am I going to have to manually send a certificate to anyone who wants to use this applet? Is this possible to do w/o a command line interface of some kind?
I'm a bit lost here. Any help would be appreciated. Thanks.

Hi.
The security policy in effect is the one installed
by the applet container (the browser, the appletviewer,
etc.). You cannot change the security policy in an
applet. You may try to set a weaker security policy in
your applet container, but I doubt any reasonable
browser will let you set the RMI hostname. After
all, applets are allowed to connect their codebase
only.
Have fun,
wiedkla

Similar Messages

  • Rmi over ssl in jdk1.5.0

    hi,
    i am trying to connect a remote machine with rmi over ssl. but i got the following exceptions;
    java.rmi.ConnectIOException: error during JRMP connection establishment; nested exception is:
    Caused by: javax.net.ssl.SSLKeyException: RSA premaster secret error
    Caused by: java.security.NoSuchAlgorithmException: Cannot find any provider supporting RSA/ECB/PKCS1Padding
    Caused by: java.lang.IllegalArgumentException: can't support mode ECB
    i am using jdk1.5.0. i have tried many samples but i have not run them successfully however they were running successfully in j2sdk1.4.2.
    also i downloaded the bouncycastle provider but it did not work.
    is there anybody who knows about a running sample about rmi and ssl in jdk1.5.0? please send me....
    email: [email protected]

    Hi!
    I know it's not the exactly right topic, but I've nearly the same problem with a https connection for a webService. I'm not using turkish locale, I'm using BouncyCastle and the "Unlimited Strength" policy files. I've no problems if i start my application with eclipse, starting it with jdk1.5.0_03\jre\bin\java or jre1.5.0_03\bin\java form commandline i get the same stacktrace:
    javax.net.ssl.SSLKeyException: RSA premaster secret error
    Caused by: javax.net.ssl.SSLKeyException: RSA premaster secret error
    Caused by: java.security.NoSuchAlgorithmException: Cannot find any provider supporting RSA/ECB/PKCS1Padding
    Caused by: java.lang.IllegalArgumentException: can't support mode ECB
    if i try to get the cipher with
    Cipher c = Cipher.getInstance("RSA/ECB/PKCS1Padding");
    I'll get the same stacktrace, with
    Cipher c = Cipher.getInstance("RSA/ECB/PKCS1Padding", "BC");
    i works fine, but I've no idea how to run this code out of axis...
    Thanks & Regards
    Helmut

  • RMI with SSL server authentification

    Hello,
    It is possible to implement a RMI over SSL client /server with only server authentification ?
    I'have got currently a RMI SSL client/server with mutual authentification. It includes that client must have a keystore but i don't want that.
    If anybody has an idea, its welcome.
    tjm

    Indeed i 'm working to implement a keustorespi for the keystore and i would like
    In fact I'm working to implement myself a keystorespi for the keystore and I would like that only server use it and client have no keystore.
    It is possible

  • RMI with SSL problem (cross post under RMI too)

    Hi,
    I'm having problems using RMI with SSL. I posted in the RMI forum originally but now realise the problems are with the SSL really.
    Perhaps someone who follows this forum could help.
    See post:
    http://forum.java.sun.com/thread.jsp?forum=58&thread=409347
    Thanks.

    There's more dukes in the other thread too.

  • RMI over SSL under Web Start can't find trusted certificate

    I have implemented RMI over SSL to get a Java EJB Client application talking to a JRun server over SSL. It works fine from the command line, but when I try to run it as a Web Start application, I get
    java.security.cert.CertificateException: Couldn't find trusted certificate
    (More complete stack trace below)
    I am using a test certificate, not one from a bona fide CA.
    I have tried putting the key store file in one of the jars used by the application, and adding:
    <argument>-Djavax.net.ssl.trustStore=jssecacerts</argument>
    and
    <argument>-Djavax.net.ssl.trustStore=jar:http://ip/app/xxx/lib/JarWithCacs.jar!/jssecacerts</argument>
    to no avail.
    If I copy the jssecacerts to Web Start's jre/lib/security directory, it works fine.
    I have seen other postings that say to use keytool to update the JRE used by Web Start, but that kind of defeats the purpose of Web Start: zero admin client. I can't touch each user's machine.
    I have seen other posts saying to implement a more relaxed trust manager, but that doesn't seem right either.
    I am using JDK 1.4.1_02b6 on Win2k. This should be irrelevant: JRun 4 sp1a.
    Is there a way to specify the jssecacerts file in the jnlp file so Web Start will recognize it?
    Thanks for any help,
    John

    I think I have an answer:
    1) Package the truststore file in the client JAR file
    2) Add code to the client to copy the truststore from the JAR file to the client hard drive
    3) Add code to the client to set the truststore properties to refer to the file on the client hard drive
    <<code>>
    private void setupTrustStore() {
    try {
    // save truststore file to local disk
    File homeDir = new File(System.getProperty("user.home"));
    File trustStoreFile = new File(homeDir, "mytruststore");
    URL url =
    this.getClass().getClassLoader().getResource("mytruststore");
    BufferedInputStream in =
    new BufferedInputStream(url.openStream());
    BufferedOutputStream out =
    new BufferedOutputStream(new FileOutputStream(trustStoreFile));
    while(true) {
    int data = in.read();
    if(data < 0) break;
    out.write(data);
    in.close();
    out.flush();
    out.close();
    // set truststore properties
    System.setProperty("javax.net.ssl.trustStore",
    trustStoreFile.getPath());
    System.setProperty("javax.net.ssl.trustStorePassword", "mypasswd");
    } catch(Exception e) {
    e.printStackTrace();
    }

  • Problem with socket factory in RMI over SSL in proxy setup

    Hi
    The following is the setup I have;
    1. I have an application in which the server is running in https mode and I have exported my remote objects using ServerSocketFactory and ClientSocketFactory which will create SSLServerSocket and SSLSocket respectively.
    2. When I run my connect a client to this server and invoke some method on any of the remote objects, I get the following exception:
    java.lang.NullPointerException
    at sun.rmi.transport.tcp.TCPConnection.getOutputStream(Unknown Source)
    at sun.rmi.transport.tcp.TCPChannel.createConnection(Unknown Source)
    at sun.rmi.transport.tcp.TCPChannel.newConnection(Unknown Source)
    at sun.rmi.server.UnicastRef.invoke(Unknown Source)
    at com.acme.ems.server.app.main.TestSumImpl_Stub.addOne(Unknown Source)
    at com.acme.ems.client.app.tools.EMSHaSftpSettings.okButtonActionPerformed(EMSHaSftpSettings.java:216)
    at com.acme.ems.client.app.tools.EMSHaSftpSettings.access$000(EMSHaSftpSettings.java:28)
    at com.acme.ems.client.app.tools.EMSHaSftpSettings$1.actionPerformed(EMSHaSftpSettings.java:183)
    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.Window.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.pumpEventsForFilter(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    at java.awt.Dialog$1.run(Unknown Source)
    at java.awt.Dialog$3.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.awt.Dialog.show(Unknown Source)
    at com.acme.ems.client.utility.BasicDialog.showContainerInsideDialog(BasicDialog.java:103)
    at com.acme.ems.client.app.tools.EMSHaSftpSettings.init(EMSHaSftpSettings.java:322)
    at com.adventnet.nms.util.ConsumeKnownEvents.showTheFrame(ConsumeKnownEvents.java:197)
    at com.adventnet.nms.util.ConsumeKnownEvents.actionPerformed(ConsumeKnownEvents.java:103)
    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.AbstractButton.doClick(Unknown Source)
    at javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source)
    at javax.swing.plaf.basic.BasicMenuItemUI$Handler.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.Window.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)
    My understanding is, when invoking remote object's method from the client, a the clientSocketFactory implementation will be called and an SSLSocket will be created for communication between remote server and client. In this case,my guess is somehow the createSocket() method of the clientSocketFactory is returning Null.The question is why?????Any help soon is appreciated.
    Note that , we are doing this in a proxy set-up.

    I've made a similer post.
    I was able to get it working by doing the following
    Make sure to add and equals to your RMISocketFactory's
    something at least this
    public boolean equals(Object obj)
    return obj != null && obj.getClass() == this.getClass();
    I had to enable the follong cypher suite SSL_DH_anon_WITH_RC4_128_MD5
    but this leads to a possible man in the middle attack.
    I posted to try and get that resolved. (see ssl lockup on handshake)

  • [Java 1.4.2] Rmi over SSL : bind/rebind hangs

    Hello everybody,
    I am trying to test client/server communication with RMI over an SSL layer, as explained here .
    Here is my server class :
    package rmitest.server;
    import java.rmi.registry.*;
    import java.rmi.*;
    import rmitest.client.RMISSLClientSocketFactory;
    import java.rmi.server.RMIClientSocketFactory;
    import java.rmi.server.RMIServerSocketFactory;
    import java.rmi.registry.LocateRegistry;
    import java.rmi.server.*;
    import java.io.IOException;
    public class Hello extends UnicastRemoteObject implements HelloInterface
        public Hello(RMIClientSocketFactory csf, RMIServerSocketFactory ssf) throws RemoteException
            //super();
            super(1099, csf, ssf);
            System.out.println("Initialisation de Hello OK.");
        public int sayHello()
            try {
            System.out.println("Hello, World !");
            return 0;
            catch (Exception e)
                e.printStackTrace();
                return 1;
        public static void main(String[] args)
            try
                System.setSecurityManager(new RMISecurityManager());
                RMIClientSocketFactory csf = new RMISSLClientSocketFactory();
                RMIServerSocketFactory ssf = new RMISSLServerSocketFactory();
                HelloInterface myHello = new Hello(csf, ssf);
                Registry reg = LocateRegistry.getRegistry("lat203", 1099, csf);
                reg.rebind("HelloInterface", myHello);
                System.out.println("The server is ready.");
            catch (RemoteException e)
                e.printStackTrace();
            catch (Exception e)
                e.printStackTrace();
    }My problem is, the program hangs in the rebind(...) instruction. Would anybody have a clue ?
    Here is the stack just before it hangs :
    {codeThread [main] (Stepping)
    UnicastRef2(UnicastRef).newCall(RemoteObject, Operation[], int, long) line: 313
    RegistryImpl_Stub.rebind(String, Remote) line: not available
    Hello.main(String[]) line: 56
    Thread [Thread-1] (Running) }Thank you by advance.
    Edited by: le_barde on Oct 17, 2008 6:45 AM                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

    Ok I settled that in the client socket factory. Here is what it looks like :
    package com.infotel.rmitest.client;
    import java.io.*;
    import java.net.*;
    import java.rmi.server.*;
    import javax.net.ssl.*;
    import sun.security.util.Debug;
    public class RMISSLClientSocketFactory
        implements RMIClientSocketFactory, Serializable {
        public Socket createSocket(String host, int port)
        throws IOException
            SSLSocketFactory factory = (SSLSocketFactory)SSLSocketFactory.getDefault();
            SSLSocket socket = (SSLSocket)factory.createSocket(host, port);
            String[] strtab = {"TLSv1", "SSLv3"};
            socket.setEnabledProtocols(strtab);
            System.out.println("---> before handshake");
            socket.startHandshake();
            System.out.println("---> after handshake.");
            return socket;
        public int hashCode()
            return getClass().hashCode();
        public boolean equals(Object obj)
            if (obj == this)
                return true;
            else if (obj == null || getClass() != obj.getClass())
                return false;
            return true;
    }I haven't modified my Server socket factory.
    The client still hangs but the messages are different as I have removed the SSLv2ClientHello :
    >
    (lots of trusted certificates...)
    init context
    trigger seeding of SecureRandom
    done seeding SecureRandom
    ---> before handshake
    %% No cached client session
    *** ClientHello, TLSv1
    RandomCookie: GMT: 1225125230 bytes = { 150, 101, 222, 255, 92, 207, 52, 204, 48, 37, 184, 89, 56, 39, 207, 230, 8, 210, 1, 235, 137, 48, 202, 242, 203, 4, 61, 91 }
    Session ID: {}
    Cipher Suites: [SSL_RSA_WITH_RC4_128_MD5, SSL_RSA_WITH_RC4_128_SHA, TLS_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_RSA_WITH_AES_128_CBC_SHA,       TLS_DHE_DSS_WITH_AES_128_CBC_SHA, SSL_RSA_WITH_3DES_EDE_CBC_SHA, SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA, SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA, SSL_RSA_WITH_DES_CBC_SHA, SSL_DHE_RSA_WITH_DES_CBC_SHA, SSL_DHE_DSS_WITH_DES_CBC_SHA, SSL_RSA_EXPORT_WITH_RC4_40_MD5, SSL_RSA_EXPORT_WITH_DES40_CBC_SHA, SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA, SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA]
    Compression Methods: { 0 }
    [write] MD5 and SHA1 hashes: len = 73
    0000: 01 00 00 45 03 01 49 06 ED 6E 96 65 DE FF 5C CF ...E..I..n.e..\.
    0010: 34 CC 30 25 B8 59 38 27 CF E6 08 D2 01 EB 89 30 4.0%.Y8'.......0
    0020: CA F2 CB 04 3D 5B 00 00 1E 00 04 00 05 00 2F 00 ....=[......../.
    0030: 33 00 32 00 0A 00 16 00 13 00 09 00 15 00 12 00 3.2.............
    0040: 03 00 08 00 14 00 11 01 00 .........
    main, WRITE: TLSv1 Handshake, length = 73
    (Here the client hangs; this is the point when I kill the JVM)>
    Now my server output (I don't give the verbose certificates):
    >
    trigger seeding of SecureRandom
    done seeding SecureRandom
    Finalizer, called close()
    Finalizer, called closeInternal(true)
    Finalizer, SEND TLSv1 ALERT: warning, description = close_notify
    Finalizer, WRITE: TLSv1 Alert, length = 2
    Finalizer, called close()
    Finalizer, called closeInternal(true)
    Finalizer, SEND TLSv1 ALERT: warning, description = close_notify
    Finalizer, WRITE: TLSv1 Alert, length = 2
    Finalizer, called close()
    Finalizer, called closeInternal(true)
    Finalizer, SEND TLSv1 ALERT: warning, description = close_notify
    Finalizer, WRITE: TLSv1 Alert, length = 2
    Finalizer, called close()
    Finalizer, called closeInternal(true)
    Finalizer, SEND TLSv1 ALERT: warning, description = close_notify
    Finalizer, WRITE: TLSv1 Alert, length = 2
    Finalizer, called close()
    Finalizer, called closeInternal(true)
    Finalizer, SEND TLSv1 ALERT: warning, description = close_notify
    Finalizer, WRITE: TLSv1 Alert, length = 2
    Finalizer, called close()
    Finalizer, called closeInternal(true)
    Finalizer, SEND TLSv1 ALERT: warning, description = close_notify
    Finalizer, WRITE: TLSv1 Alert, length = 2
    Finalizer, called close()
    Finalizer, called closeInternal(true)
    Finalizer, SEND TLSv1 ALERT: warning, description = close_notify
    Finalizer, WRITE: TLSv1 Alert, length = 2
    Finalizer, called close()
    Finalizer, called closeInternal(true)
    Finalizer, SEND TLSv1 ALERT: warning, description = close_notify
    Finalizer, WRITE: TLSv1 Alert, length = 2
    Finalizer, called close()
    Finalizer, called closeInternal(true)
    Finalizer, SEND TLSv1 ALERT: warning, description = close_notify
    Finalizer, WRITE: TLSv1 Alert, length = 2
    Finalizer, called close()
    Finalizer, called closeInternal(true)
    Finalizer, SEND TLSv1 ALERT: warning, description = close_notify
    Finalizer, WRITE: TLSv1 Alert, length = 2
    Finalizer, called close()
    Finalizer, called closeInternal(true)
    Finalizer, SEND TLSv1 ALERT: warning, description = close_notify
    Finalizer, WRITE: TLSv1 Alert, length = 2
    * SERVER INITIALIZED *
    Finalizer, called close()
    Finalizer, called closeInternal(true)
    Finalizer, SEND TLSv1 ALERT: warning, description = close_notify
    Finalizer, WRITE: TLSv1 Alert, length = 2
    Finalizer, called close()
    Finalizer, called closeInternal(true)
    Finalizer, SEND TLSv1 ALERT: warning, description = close_notify
    Finalizer, WRITE: TLSv1 Alert, length = 2
    Finalizer, called close()
    Finalizer, called closeInternal(true)
    Finalizer, SEND TLSv1 ALERT: warning, description = close_notify
    Finalizer, WRITE: TLSv1 Alert, length = 2
    etc.

  • Oracle + SSL + Applets

    I have setup a connection that works fine without SSL, the client connects to the firewall which has Apache running as a reverse proxy. Clients gets "tunneled" to OAS and all works fine.
    When I activate SSL and after the exchange of certificates, client still gets to the main page of OAS, downloads the html, the graphic but no petition is made for the applet.
    The client just stops.
    An extract of the relevant HTML
    pluginurl="jinit115211.exe" type="application/x-jinit-applet;version=1.1.5.21.1"
    code="oracle.forms.uiClient.v1_4.engine.Main"
    codebase="/OA_JAVA/" archive="/OA_JAVA/oracle/apps/fnd/jar/fndewt.jar, /OA_JAVA/oracle/apps/fnd/jar/fndforms.jar, /OA_JAVA/oracle/apps/fnd/jar/fndaol.jar,
    None of this .jar are downloaded using SSL, everything works fine without SSL.
    Any hint?

    Sorry , I just talked with Oracle Support, JInitiator won't work with SSL, they told me I need to upgrade some Oracle products to work with HTTPS.

  • RMI and SSL

    Does SSL usage require dynamic stub loading? I have worked without dynamic stub loading and would like to have this unchanged when adding SSL encryption.

    SSL has nothing to do with RMI dynamic stub loading one way or the other.

  • RMI Callback with Applet

    Hi,
    I have a simple RMI Callback Client/Sever Application, where the client-side is inplemented in a JApplet. All works fine by local tests (client and server on my machine), but when the client is on remote machine I got an security exception or error (ClassFormatError(Bad magic number)).
    How can I make my client/server work?

    No, I'm testing inside LAN, no firewalls, no proxys, no nothing. Just a server and the client (applet).
    And this strange error, I'll paste the entire stack trace:
    java.lang.ClassFormatError: Client (Bad magic number)
    at java.lang.ClassLoader.defineClass0(Native Method)
    at java.lang.ClassLoader.defineClass(Unknown Source)
    at java.security.SecureClassLoader.defineClass(Unknown Source)
    at sun.applet.AppletClassLoader.findClass(Unknown Source)
    at sun.plugin.security.PluginClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.applet.AppletClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.applet.AppletClassLoader.loadCode(Unknown Source)
    at sun.applet.AppletPanel.createApplet(Unknown Source)
    at sun.plugin.AppletViewer.createApplet(Unknown Source)
    at sun.applet.AppletPanel.runLoader(Unknown Source)
    at sun.applet.AppletPanel.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
    On my local machine oll works fine... is the problem the applet's "sandbox"? Or...?
    Any ideas are welcome
    Thanks

  • RMI and SSL performance

    I was wondering if there is documentation on the performance hit that I can expect when converting my RMI based app from non-SSL to SSL. I cannot find any information on this.
    What have people experienced?
    Thank you.

    You can expect a long delay, 10-20 seconds, when you implicitly or explictly create a javax.net.ssl.SSLContext, due to seeding the initial SecureRandom(). This should only happen once: you can take it out of line of the communications by creating and initializing the SSLContext during startup; you can do this in a separate thread. You should expect new connections to be several times as slow due to the SSL handshake, and you should expect transmission times to be several times what they are now due to encryption. Finally, because of all the extra computation you should then expect your servers to be much more busy, which will increase queue lengths and therefore latencies at clients.
    By 'several' I mean in the range 2 to 10, but it all depends on your hardware. You should consider using an HSM at the server.

  • Deployment files for IIOP/SSL applets against 8i

    I was reading 8i's docs on SSL authentication with IIOP clients.
    I am particularly interested in deployment issues with regards to
    java applets (e.g.: what JAR files and others needs to be
    installed on the client machine).
    The 8i EJB/CORBA doc mentioned that you need vbj30ssl.jar
    installed on the cleint for the applet to communicate via
    IIOP/SSL.
    Then, on the other hand, reading OAS 4.0.7 documentation, it
    mentioned that for clients to communicate via IIOP/SLL to OAS,
    the following files are needed:
    * vbjorb.jar (for basic IIOP)
    * vbj30ssl.jar (for IIOP/SSL)
    ... and the following files for win clients:
    * vbj30ssl.dll for Win/Netscape
    * vbmissl.dll for Win/IE
    Since 8i and OAS basically use the same ORB (Visibroker) and the
    same version of SSL and visibrokker version, I am confused as to
    what are really needed on the client side.
    My questions are:
    1) Do the windows client browsers REALLY need vbj30ssl.dll and
    vbmissl.dll for IIOP/SSL to work??? Neither of these DLLs are
    mentioned in 8i doc nor with JDeveloper doc, only in OAS doc.
    2) If these DLLs are needed, they are not included with
    JDeveloper nor with OAS anyway. Meaning I have to buy the
    visibroker SSL pack (version 3.2).
    3) Has anyone done work with applets talking via IIOP/SSL to
    OAS/8i?
    4) I am concerned about how to make the client talk via IIOP in
    the first place, since applets cannot talk to another machine
    except from where it was downloaded (I am planning on 8i and
    Apache on separate machines). Our network guys mentioned that all
    we need is a proxy server so that, as far as the applet is
    concerned, it is talking to the same host as where it was
    downloaded, even though the proxy send the actual IIOP packets to
    the 8i host.
    Thanks,
    John Salvo
    null

    Jesus,
    I'm not sure about the client-DLL item you mentioned in your
    original note.
    For applets, you need to deploy everything that is required by
    the applet at design-time. In your JDeveloper project where you
    have designed the applet, check Project Properties to view the
    list of libraries that were used by the project.
    To find out what archives make up that library, click the
    Libraries button. Select the library you want to look at, and
    it's source archives or directory paths will be listed in the
    Classpath field. Note that some libraries are made up of more
    than one archive.
    If your applet compiles and runs within JDeveloper, then you need
    to make sure that everything your applet has access to within
    JDeveloper is also available at runtime.
    This is probably a little more reliable a method than relying on
    the docs.
    Laura
    Jesus M. Salvo Jr. (guest) wrote:
    : Okay, JDeveloper also has aurora_client.jar, vbjorb.jar, and
    : vbj30ssl.jar. Do ALL of these needs to be deployed with my
    applet
    : for IIOP/SSL to work??
    : Jesus M. Salvo Jr. (guest) wrote:
    : : I was reading 8i's docs on SSL authentication with IIOP
    : clients.
    : : I am particularly interested in deployment issues with
    regards
    : to
    : : java applets (e.g.: what JAR files and others needs to be
    : : installed on the client machine).
    : : The 8i EJB/CORBA doc mentioned that you need vbj30ssl.jar
    : : installed on the cleint for the applet to communicate via
    : : IIOP/SSL.
    : : Then, on the other hand, reading OAS 4.0.7 documentation, it
    : : mentioned that for clients to communicate via IIOP/SLL to
    OAS,
    : : the following files are needed:
    : : * vbjorb.jar (for basic IIOP)
    : : * vbj30ssl.jar (for IIOP/SSL)
    : : ... and the following files for win clients:
    : : * vbj30ssl.dll for Win/Netscape
    : : * vbmissl.dll for Win/IE
    : : Since 8i and OAS basically use the same ORB (Visibroker) and
    : the
    : : same version of SSL and visibrokker version, I am confused as
    : to
    : : what are really needed on the client side.
    : : My questions are:
    : : 1) Do the windows client browsers REALLY need vbj30ssl.dll
    and
    : : vbmissl.dll for IIOP/SSL to work??? Neither of these DLLs are
    : : mentioned in 8i doc nor with JDeveloper doc, only in OAS doc.
    : : 2) If these DLLs are needed, they are not included with
    : : JDeveloper nor with OAS anyway. Meaning I have to buy the
    : : visibroker SSL pack (version 3.2).
    : : 3) Has anyone done work with applets talking via IIOP/SSL to
    : : OAS/8i?
    : : 4) I am concerned about how to make the client talk via IIOP
    in
    : : the first place, since applets cannot talk to another machine
    : : except from where it was downloaded (I am planning on 8i and
    : : Apache on separate machines). Our network guys mentioned that
    : all
    : : we need is a proxy server so that, as far as the applet is
    : : concerned, it is talking to the same host as where it was
    : : downloaded, even though the proxy send the actual IIOP
    packets
    : to
    : : the 8i host.
    : : Thanks,
    : : John Salvo
    null

  • RMI only for applets?3F

    I have spent couple of days trying to make my client/server application to work. I use RMI and both sides are ready and do execute, but I can't make the client receive the Stub file. All I get is a ClassNotFoundException telling me that the "myproject.server.MyImpl_Stub.class" can't be found. What confuses me is that it is searched from the server (Amongst the other server classes!?), but I don't seem to be able to change (or point) the location where it should be looked for...
    I just read that RMI is primarly for applets, and now I'm feeling a bit worried if I can't make my application work at all... This is (soon to be was) supposed to be my course project and I have worked pretty hard on this.
    I really hope that the problem is only with setting the codebase. If so, I hope someone could tell me how to point the right place* from the server for the RmiRegistry -> client. I have also noticed that RMIClassLoader class is somehow related to this topic. Should it be used somewhere? How?
    * If the path is for example: c:\java\my_project\server\
    I do really appreciate all the help and advice I can get. Thank you in advance!
    - Ville
    do really appreciate all the help and advice I can get. Thank you in advance!
    - Ville

    Dude, why are you just copying other people's posts?

  • RMI only for applets?

    I have spent couple of days trying to make my client/server application to work. I use RMI and both sides are ready and do execute, but I can't make the client receive the Stub file. All I get is a ClassNotFoundException telling me that the "myproject.server.MyImpl_Stub.class" can't be found. What confuses me is that it is searched from the server (Amongst the other server classes!?), but I don't seem to be able to change (or point) the location where it should be looked for...
    I just read that RMI is primarly for applets, and now I'm feeling a bit worried if I can't make my application work at all... This is (soon to be was) supposed to be my course project and I have worked pretty hard on this.
    I really hope that the problem is only with setting the codebase. If so, I hope someone could tell me how to point the right place* from the server for the RmiRegistry -> client. I have also noticed that RMIClassLoader class is somehow related to this topic. Should it be used somewhere? How?
    * If the path is for example: c:\java\my_project\server\ --> java.rmi.server.codebase=???
    I do really appreciate all the help and advice I can get. Thank you in advance!
    - Ville

    I have already read some tutorials. And I have understood that the client is the one which needs the stub(s), but the server is the one to provide it/them. Right? I'm not sure what you mean by starting the server separately with the stubs, but that is, what I think, I have done.
    I copied my server classes so that they where with client at corresponding place given by ClassNotFoundException. Now I got ClassCastException!? I think that this proves that the instance sent by rmiregistry is telling the client to ask for the stub from the wrong place.
    This is what I think how stubs are used and what they are...
    Server registers an remote object for rmiregistry with Naming.(re)bind(). Rmiregistry then gives an instance (of this objects stub) for the client when it does its Naming.lookup(). After that client requests the stub.class from given location (which is given by the servers codebase setting [only for applets??]), and then the stub.class is downloaded for the client. When this is done, the stub is used by the client to make calls for the servers remote object, to do what the client asks it to do (if allowed).
    Is this far from the truth?

  • RMI SSL problem

    Hi, I am learning RMI whit SSL and I have a problem, I cant run the example form the RMI SSL tutorials.
    I can run the server, and bind the object but the client throw this exception:
    HelloClient exception: error during JRMP connection establishment; nested exception is:
    javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
    java.rmi.ConnectIOException: error during JRMP connection establishment; nested exception is:
    javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
    at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:274)
    at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:171)
    at sun.rmi.server.UnicastRef.newCall(UnicastRef.java:306)
    at sun.rmi.registry.RegistryImpl_Stub.lookup(Unknown Source)
    at HelloClient.main(HelloClient.java:60)...
    can you help me???

    Hi,
    Dis you solved the probelm ? I am facing the similar exception. I am using jre1.5.0_11.
    Regards,
    Titas Mutsuddy

Maybe you are looking for

  • To open a file where the filename is dynamic ......

    String logfile=request.getParameter("value"); out.println(logfile); FileInputStream fs1 = new FileInputStream("/opt/Abhishek/software/tomcat/webapps/AMS/Backend/History/");                                 DataInputStream in1 = new DataInputStream(fs1

  • Function module/BAPI for ATP Material

    Hi All, Is there any function module/BAPI for ATP(Available-to-Promise check) for Material. 1) Production order from one plant 2) Scheduling agreement from another plant. Regards, Srinivas.

  • Notes Management - Error

    The Notes Management functionality in my planning book does not seem to work correctly.  I can not add a note (display note) as described in the directions below.  I get a message stating: "select a point in the graphic" although if I switch from tab

  • Audio book CD importing issues

    Importing Audio books from CD..I'm very confused.. I have imported a BUNCH of audio books to my itunes library. I thought I had all of them saved in the audio books section, with each one labeled by author, book name, disc 1 of_, read by, and anythin

  • My iPhone4 is slow

    I have removed a lot of apps, but to access anything Facebook, Internet, Mail, Twitter, etc...my phone is incredibly slow.  I can only keep approx. 50 pictures at a time.  I do have a lot of music on my phone. Would that slow it down this much?