J'utilise Mac 10.7 exécutant Java 1.7.0_21. J'essaie d'exécuter une application Java Applet signée et vers la fin de l'application, je reçois un mode popup de sécurité en mode mixte indiquant "Bloquer des composants potentiellement dangereux d'être exécutés?". Tous les pots que j'utilise sont signés. P>
Je suis capable d'exécuter la même application d'applet sur Mac 10.6 exécutant Java 6 et je n'obtiens pas l'avertissement en mode mixte. Je suis également capable d'exécuter l'application sur Windows sans avertissement en mode mixte à venir. p>
Pourquoi est-ce que cela continue à obtenir cette erreur lorsque tous mes pots sont signés? P>
i Googled Mode Mode Avertissement et trouvé ce lien. p>
Et après avoir lu ce lien, je suis un peu confus. Selon ce lien, il semble que j'ai besoin d'avoir un attribut «fiducié uniquement» ou «fiduciaire» mentionné dans mon fichier manifeste. J'ai regardé mon fichier manifeste et ils n'ont pas ces attributs, alors devrais-je les mettre dans ou simplement le fait que les bocaux soient signés aurait dû être suffisant. p>
Quelqu'un peut-il vous aider à comprendre pourquoi je reçois cette erreur même lorsque tout est signé? p>
4 Réponses :
update 21 strong> de Java 7 est une mise à jour de sécurité solide qui apporte un certain nombre de modifications de rupture. P>
Nous sommes ici Jroller.com/tackline/entry/mixing_trusted_and_untrusted_code / Une application entière est incroyable Peu susceptible d'être en sécurité si traité comme une bibliothèque de confiance (sans surprise, il y a un bon pour la "bibliothèque" dans "fiduciaire de la bibliothèque").
La meilleure solution consiste à utiliser le http://docs.oracle.com/ Javase / 7 / Docs / Technotes / Guides / JWeb / Propriétés.HTML P>
Créez le fichier Suivre sur le poste de travail de l'utilisateur. Dans le fichier Ajoutez la ligne suivante:
Cela indiquera à Java de cacher l'avertissement de sécurité et d'exécuter l'applet chaque fois qu'il y a une condition de code mixte. En outre, sur les notes de publication, il dit: p>
AS de JDK 7U21, code JavaScript qui appelle le code dans un privilège
L'applet est traité comme des dialogues de code mixte et d'avertissement sont élevés si le
Les fichiers JAR signés ne sont pas étiquetés avec l'attribut de bibliothèque fiduciaire. P>
Pour plus d'informations, voir Mixing Code privilégié et code de bac à sandbox
Documentation. P>
La version JDK 7U21 permet aux utilisateurs de prendre des décisions plus éclairées
Avant d'exécuter des applications Internet riches (RIAS) en invitant les utilisateurs
pour les autorisations avant la course d'une RIA. Ces dialogues de permission incluent
informations sur le certificat utilisé pour signer l'application, le
emplacement de l'application et le niveau d'accès que le
Demandes d'application. Pour plus d'informations, voir Acceptation des utilisateurs de
Rias. P>
blockQuote>
FYI, JRE 6U19 Si un applet contient à la fois des composants privilégiés et des composants de sandbox, des boîtes de dialogue d'avertissement sont affichées. P> fiducié-bibliothèque = true code>, si vous ne pouvez pas obtenir cela pour travailler pour une raison quelconque, vous pouvez également modifier la manière dont l'ordinateur gère des applets de sécurité mixtes. P>
c: \ windows \ sun \ java \ déploiement \ déploiement.properties code> p>
déploiement.security.mixcode = "hide_run" code> p>
Si vous marquez une applet entière en tant que bibliothèque de confiance, cela deviendra presque certainement une vulnérabilité de sécurité. La sécurité de la sécurité du plugin / WebStart est peu susceptible d'être une bonne idée non plus.
J'ai aussi un applet qui a généré cet avertissement de sécurité commençant par JRE 1.7.0_21. P>
Voici ce que j'ai appris. Le "fiducié" seulement: true "vous mettriez dans votre applet manifeste si vous ne souhaitez pas que l'utilisateur soit demandé s'il permettra à l'appel d'un autre pot signé. L'appel sera Mon applet utilise la mise en page Swing-1.0.4.jar. Pour résoudre le problème, je devais ajouter la "bibliothèque fiduciaire: vrai" à la mise en page Swing-1.0.4.jar. Vous devriez être capable de le faire en utilisant l'application JAR.EXE dans le JDK. P>
JAR VCMF Swing-Lise-layout-1.0.4A.jar MyManifest.MF Swing-PaysOut-1.0.4.jar P>
myManifest.mf est un fichier texte contenant "fiduciée-bibliothèque: true". L'espace entre le: et le vrai est important et vous devez avoir un retour de chariot à la fin de la ligne. P>
Pour une raison quelconque, je ne pouvais pas obtenir cela pour travailler, donc j'ai reconstruit la mise en page de balançoire à l'aide de Netbeans. Les sources de pivotement-1.0.4 font partie de l'installation de NetBeans (sous la plate-forme). J'ai décompressé cela l'a ouvert comme un projet. Sous Fichiers, j'ai changé le fichier manifeste pour avoir la ligne magique (à nouveau qu'il est important d'avoir l'espace après la suivante: et une ligne vierge à la fin du fichier manifeste) et appuyez sur la construction. J'ai ensuite signé le pot et plus d'avertissement de sécurité. P>
J'espère que cela aide ou au moins vous pointe dans la bonne direction p>
Si vous marquez une applet entière en tant que bibliothèque de confiance, cela deviendra presque certainement une vulnérabilité de sécurité.
@tackline Pourriez-vous s'il vous plaît élaborer à ce sujet? Comment marquons-nous simplement une partie d'un applet en tant que bibliothèque de confiance?
@Carlmanaster mettez la pièce de la bibliothèque dans un pot séparé (et assurez-vous que le code est sûr).
Merci à tous pour vos réponses. J'ai essayé d'ajouter de la bibliothèque de confiance = true sur un petit échantillon et il semble fonctionner. Alors maintenant, je vais essayer d'essayer de mettre à jour le fichier manifeste de tous mes poches. Et puisque nous utilisons une fourmi, je vais faire le suivant
<jar update="true" jarfile="${deploy.dir}/javaApp.jar"> <manifest> <attribute name="Trusted-Library" value="true" /> </manifest> </jar>