Liveconnect Applet problèmes
Ne peut pas appeler applet méthodes à partir de javascript. Un message d'erreur s'affiche sur le journal
-> liveconnect: Exception de Sécurité: JavaScript à partir de http:url:port/application tentative d'accès à une ressource, il n'a pas de droits.
Manifest-Version: 1.0
Application-Name: application
Created-By: Apache Maven 3.0.4
Caller-Allowable-Codebase: *
Application-Library-Allowable-Codebase: *
Build-Jdk: 1.7.0_72
Permissions: all-permissions
Codebase: *
La sécurité de java est à meddium
JRE Version 1.8.0_25-b17
Applet Signée par une source de confiance, et l'applet pot est téléchargé à partir du même domaine que la page appelante.
Si j'essaie d'appeler l'applet méthode de firebug console javascript une autre erreur s'affiche: Erreur: Liveconnect appel à Applet ID 4 n'est pas autorisée dans la présente instance de la JVM
La BALISE applet:
<applet id="applet" code="applet.core.AppletBootstrap" codebase="/applet" archive="applet.jar" width="650" height="500" mayscript="mayscript">
<param name="cache_archive" value="applet.jar"/>
<param name="cache_version" value="2.4.17.2,2.4.17.2,2.4.17.2,2.4.17.2,2.4.17.2"/>
<param name="conversationId" value="e00ed781a56a4378a285d7839a9925bf"/>
<param name="userAgent" value="Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.65 Safari/537.36" />
<param name="java_status_events" value="true"/>
<param name="separate_jvm" value="true"/>
<param name="classloader_cache" value="false"/>
<param name="java_arguments" value="-Xmx128m -Djnlp.packEnabled=true "/>
</applet>
EDIT:
@Seba JDK-8058697 est un OpenJDK bug lié à cette question, il n'est malheureusement pas accessible pour moi - Vous pouvez voir un duplicata de celui-ci: ici
EDIT 2:
Java 8 update 40 est de travailler à nouveau
- S'il vous plaît ajouter les infos suivantes : version du JRE ? Applet signée par une source de confiance ? JAR dans le même domaine que la page appelante ?
- Ok, je vais mettre à jour la question
- une dernière chose, la balise HTML utilisé pour charger l'Applet.
- Assurez-vous de la Console Java est configuré pour afficher. Si il n'y a pas de sortie à la valeur par défaut de niveau, d'élever le niveau et essayez à nouveau.
- Salut Andrew, la console s'affiche et il est le suivant ~"liveconnect: Exception de Sécurité: JavaScript à partir de http:url:port/application tentative d'accès à une ressource, il n'a pas de droits."
Vous devez vous connecter pour publier un commentaire.
Aujourd'hui, j'ai rencontré ce problème sur Ubuntu 14.10, Firefox 35.0.1 & Oracle Java JRE 1.8.0_31.
Elle est liée d'une certaine façon à JRE classe utilitaire en deploy.jar ce qui ne fonctionne pas correctement sur Linux (NativeMixedCodeDialog). Sur Windows, lorsque vous essayez d'accéder à Liveconnect (ce qui implique le mode de sécurité MIXTE) une boîte de dialogue est affichée par cette classe de bien vouloir vous demander une confirmation. Ce, pour des raisons inconnues, n'est-ce pas le cas sur Linux.
Vous pouvez facilement essayer de le vérifier, en exécutant cette commande:
Ma solution a été d'utiliser Déploiement Règle à force de Java à faire confiance à mon application.
Cela pourrait être un no-go pour une utilisation en production, mais permettez-moi de développer jusqu'à ce
NativeMixedCodeDialog
est résolu.Donc droit au but:
Le remplir avec le contenu en fonction de ce la documentation, par ex.
De le mettre en pot
jar cvf DeploymentRuleSet.jar ruleset.xml
Signe ce pot avec un certificat valide dans
cacerts
, il pourrait être un certificat auto-signé, mais il doit être trouvé dans java fichier cacert, pas seulement de la confiance dans le panneau de contrôlejarsigner -verbose -keystore ~/selfsigned.p12 -storetype pkcs12 DeploymentRuleSet.jar selfsigned
Copie signée pot à
/etc/.java/deployment/
La réponse de @Seba a été fantastique, mais je peux ajouter quelques commandes que vous pourriez avoir besoin:
Créer un certificat auto-signé:
Exporter la clé dans le fichier de clés:
Exportation/Convertir la jks fichier de clés dans PKCS12 fichier de clés (éventuellement redondantes si vous pouvez vous connecter avec l' ".jks" keystore au lieu de ".p12" dans une étape ultérieure, je n'ai pas essayé):
Trouver le fichier cacerts fichier de clés pour votre java:
Importer une clé dans le fichier cacerts:
Et maintenant, vous créez le ruleset.xml fichier (sans emplacement pour "tout", ce qui évidemment défaites de la sécurité):
Pot, jusqu':
Signer:
Et enfin, même si il y a un .java/répertoire de déploiement dans votre répertoire utilisateur, vous devez le copier dans le (peut-être non-existant) répertoire /etc/.java/déploiement
Au moins pour Firefix, vous n'avez pas besoin de redémarrer le navigateur, aussi longtemps que vous le tuer, le java-processus que le navigateur a commencé. Si c'est la seule java-processus, puis en exécutant la commande suivante devrait le faire:
J'ai cette erreur sur Ubuntu 14.04 LTE à l'aide de Firefox 31 et jre1.8.0_25.
Sur Windows, il fonctionne très bien avec diverses combinaisons de Windows XP jusqu'à Windows 8.1 et Firefox, Chrome, IE et les différents Jre.
J'ai trouvé ce lien récemment, qui semble s'appliquer directement à mon problème:
https://bugs.openjdk.java.net/browse/JDK-8064677
Tout fonctionnait bien avant, j'ai ajouté le certificat de signature de code de l'autorité de certification pour l'Ubuntu fichier cacerts. Jusqu'alors j'avais le site dans le Panneau de configuration Java Site d'Exception de la Liste.
Une fois, j'ai ajouté le CA cert pour le fichier cacerts j'ai commencé à recevoir des différentes Liveconnect problèmes. Finalement, j'ai eu débarrasser de tous à l'exception de celui que vous obtenez.
J'ai essayé de le http et le https mais rien n'y fait.
Si j'apprends quelque chose de plus, je vais vous laisser savoir.