L'Exception de sécurité: la Tentative d'ouverture d'un bac à sable pot de Confiance-Bibliothèque
Je suis en train d'exécuter une applet via une page web, mais cela me donne l'erreur:
java.lang.reflect.InvocationTargeException
at com.sun.deploy.util.DeployAWTUtil.invokeAndWait(DeployAWTUtil.java:116)
at sun.plugin2.applet.Plugin2Manager.runOnEDT(Plugin2Manager.java:3520)
at sun.plugin2.applet.Plugin2Manager.createApplet(Plugin2Manager.java:3051)
at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Plugin2Manager.java:1497)
at java.lang.Thread.run(Thread.java:662)
Caused by:java.lang.SecurityExcption: attempted to open sandboxed jar file :/home/daniel/workspace/project/jars/jogl/jogl.all.jar as a Trusted-Library
at com.sun.deploy.security.CPCallbackHandlers$ParentElement.checkResources(CPCallbackHandler.java:358)
at com.sun.deploy.security.DeployURLClassPath$JarLoader.checkResource(DeployURLClassPath:852)
....more stuff I don't want to have to retype but I can if necessary
et je ne comprends pas pourquoi. Je vais essayer d'obtenir à plusieurs pots avec mon applet, mais c'est le seul qui est à l'origine du problème (du moins pour le moment). J'ai regardé cette question similaire, mais depuis je n'ai pas de bibliothèque (à moins que le applet.class compte que je n'ai pas signé de toute façon), cela ne semble pas s'appliquer ici. J'ai regardé Mélange de Code signé et non Signé, mais "Enable - afficher l'avertissement si nécessaire" est cliqué, "Confiance-Bibliothèque: true" est dans le MANAFEST fichier, et je suis sous firefox 3.6.24 (comme spécifique pour une machine Linux que j'ai). J'avais apprécié votre aide.
jogl.all.jar's MANAFEST fichier:
Manifer-Version: 1.0
Ant-Version: Apache Ant 1.8.2
Created-By: 1.6.0_24-b07 (Sun Microsystems Inc.)
Specification-Title: Java Bindings for OpenGL API Specification
Specification-Version: 2.0
Specificaiton-Vender: JogAMp Community
Implementation-Title: Java Bindings for OpenGL Runtime Environment
Implementation-Version: 2.0-b23-20110303
Implementation-Branch: rc
Implementation-Commit: bcf5d6ac871a29398b441df617923d3dd2cf35c1
Implementation-Vendor: JogAmp Community
Implementation-URL: http://jogamo.org/
Extension-Name: javax.media.opengl
Implementation-Vendor-Id: com.jogamp
Trusted-Library: true
OriginalL'auteur Daniel | 2012-12-26
Vous devez vous connecter pour publier un commentaire.
Il semble que si vous n'avez pas signé le pot (d'où le "bac à sable" bits).
L'écriture de confiance de code Java qui peut en toute sécurité être utilisé par du code non fiable est vraiment, vraiment difficile.
Question délicate. N'importe qui peut signer quoi que ce soit. Ce sont le droit et le bon de choses à signer est une autre question. Je pense que vous devriez être en mesure de trouver des versions de JOGL marqué de Confiance-de la Bibliothèque qui sont signés et éventuellement maintenu (il ne sera pas par le Soleil plus).
Si vous vous enregistrez vous-même quelque chose (n'importe quel fichier jar pour le pour l'amour de l'apprentissage), qui vous permettent d'éviter ce problème, je vais avoir? ou ne doit vous aller trouver une "confiance-Bibliothèque" version?
Vous pouvez signer un bocal, y compris de confiance des bibliothèques avec un code de signature de certificat. Je suggère d'éviter l'utilisation réelle des certificats signés par les autorités de certification pour les tests.
Je n'ai pas essayé, mais ne serait-il pas aussi de travail pour mettre le sable en boîte de code dans un JNLP extension de sable en boîte, de référence et de l'extension dans les principaux JNLP?
OriginalL'auteur Tom Hawtin - tackline
J'ai eu le même problème à la racine cause a été Java JRE installé les deux versions 32bits et 64bits - en fait il y avait 2 application à part les entrées visibles dans le "Panneau de configuration/Ajouter ou supprimer des programmes" à la liste.
Apparemment c'était confisung mon navigateur web (IE) et/ou plug-in java. La suppression des deux versions de JRE du système, puis l'installation de la dernière JRE de zéro résolu le problème.
Mon problème a été vu sur l'île de Java 7u25.
OriginalL'auteur Artur Witek