2009-10-02 4 views
0

Nous autosignée quelques applets java que nous avons mis sur notre application web, qui fonctionne habituellement à travers HTTPS. Sporadiquement nous obtenons des exceptions dans la console java:applets signées ayant un certificat nié de façon sporadique sur HTTPS

load: class <our class name> not found. 
java.lang.ClassNotFoundException: <our class name> 
    at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source) 
    at java.lang.ClassLoader.loadClass(Unknown Source) 
    at java.lang.ClassLoader.loadClass(Unknown Source) 
    at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Unknown Source) 
    at sun.plugin2.applet.Plugin2Manager.createApplet(Unknown Source) 
    at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source) 
    at java.lang.Thread.run(Unknown Source) 
Caused by: javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: Certificate has been denied 
    at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Unknown Source) 
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.fatal(Unknown Source) 
    at com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Unknown Source) 
    at com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Unknown Source) 
    at com.sun.net.ssl.internal.ssl.ClientHandshaker.serverCertificate(Unknown Source) 
    at com.sun.net.ssl.internal.ssl.ClientHandshaker.processMessage(Unknown Source) 
    at com.sun.net.ssl.internal.ssl.Handshaker.processLoop(Unknown Source) 
    at com.sun.net.ssl.internal.ssl.Handshaker.process_record(Unknown Source) 
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(Unknown Source) 
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source) 
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(Unknown Source) 
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(Unknown Source) 
    at sun.net.www.protocol.https.HttpsClient.afterConnect(Unknown Source) 
    at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(Unknown Source) 
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source) 
    at java.net.HttpURLConnection.getResponseCode(Unknown Source) 
    at sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(Unknown Source) 
    at sun.plugin2.applet.Applet2ClassLoader.getBytes(Unknown Source) 
    at sun.plugin2.applet.Applet2ClassLoader.access$000(Unknown Source) 
    at sun.plugin2.applet.Applet2ClassLoader$1.run(Unknown Source) 
    at java.security.AccessController.doPrivileged(Native Method) 
    ... 7 more 
Caused by: java.security.cert.CertificateException: Certificate has been denied 
    at com.sun.deploy.security.X509ExtendedDeployTrustManager.checkServerTrusted(Unknown Source) 
    ... 24 more 
Exception: java.lang.ClassNotFoundException: <our class name> 
load: <our class name> not found. 
java.lang.ClassNotFoundException: <our class name> 
    at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source) 
    at java.lang.ClassLoader.loadClass(Unknown Source) 
    at java.lang.ClassLoader.loadClass(Unknown Source) 
    at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Unknown Source) 
    at sun.plugin2.applet.Plugin2Manager.createApplet(Unknown Source) 
    at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source) 
    at java.lang.Thread.run(Unknown Source) 
Caused by: javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: Certificate has been denied 
    at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Unknown Source) 
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.fatal(Unknown Source) 
    at com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Unknown Source) 
    at com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Unknown Source) 
    at com.sun.net.ssl.internal.ssl.ClientHandshaker.serverCertificate(Unknown Source) 
    at com.sun.net.ssl.internal.ssl.ClientHandshaker.processMessage(Unknown Source) 
    at com.sun.net.ssl.internal.ssl.Handshaker.processLoop(Unknown Source) 
    at com.sun.net.ssl.internal.ssl.Handshaker.process_record(Unknown Source) 
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(Unknown Source) 
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source) 
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(Unknown Source) 
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(Unknown Source) 
    at sun.net.www.protocol.https.HttpsClient.afterConnect(Unknown Source) 
    at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(Unknown Source) 
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source) 
    at java.net.HttpURLConnection.getResponseCode(Unknown Source) 
    at sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(Unknown Source) 
    at sun.plugin2.applet.Applet2ClassLoader.getBytes(Unknown Source) 
    at sun.plugin2.applet.Applet2ClassLoader.access$000(Unknown Source) 
    at sun.plugin2.applet.Applet2ClassLoader$1.run(Unknown Source) 
    at java.security.AccessController.doPrivileged(Native Method) 
    ... 7 more 
Caused by: java.security.cert.CertificateException: Certificate has been denied 
    at com.sun.deploy.security.X509ExtendedDeployTrustManager.checkServerTrusted(Unknown Source) 
    ... 24 more 
Exception: java.lang.ClassNotFoundException: <our class name> 

à quel point vous devez fermer le navigateur pour tenter de le faire fonctionner. Si j'ajoute un autre connecteur au port 80 et n'utilise que HTTP, je n'arrive pas à reproduire le problème.

Est-ce que quelqu'un sait d'un problème avec l'envoi d'applets signés à travers HTTPS?

Je sais que l'achat d'un certificat de signature de code à partir d'une source de confiance pourrait avoir un impact, mais je ne comprends pas pourquoi nous obtenons cette erreur si sporadiquement.

Nous courons Tomcat 6.0.13, les applets compilés à l'aide JDK 1.5.0_14 et c'est le même que tomcat est JRE en cours d'exécution sur.

Merci d'avance!

+0

Peut-être que vous obtenez l'exception si un client se connecte à un certificat dont vous ne connaissez pas le certificat racine? – tangens

Répondre

0

Êtes-vous courir derrière un équilibreur de charge? Le problème peut être si vous avez un environnement en cluster que tous les serveurs ne sont pas configurés la même chose. Cela expliquerait la nature sporadique du problème. Assurez-vous que vous pouvez vous connecter à chaque serveur individuellement et vérifiez que chacun fonctionne correctement.

J'ai vu webservices ne De même en raison de ssl certs en cours d'installation pour un serveur Aval, mais pas tous.

Questions connexes