Question

Mon signé applet Java a été fonctionne bien jusqu'à ce que Java mise à jour 19. Aujourd'hui, certains, mais pas tous nos utilisateurs sur Java Update 19 font état d'un message de sécurité java indiquant que notre applet contient à la fois le code signé et non signé.

Le processus de création de notre applet se présente comme suit:

  1. Nettoyer et construire le projet applet dans Netbeans IDE.
  2. Ouvrez le fichier jar Applet dans WinRAR et ajoutez les fichiers du pilote JDBC MySQL requis pour le fichier jar.
  3. Signer le fichier jar applet.

Quelqu'un peut-il s'il vous plaît me dire comment déterminer quel code est signé et ce code n'est pas signé dans notre applet? Y at-il une meilleure façon d'inclure le mysql JDBC fichier jar de pilote dans notre applet autre que copier le contenu du fichier jar dans notre fichier jar applet?

Merci

Était-ce utile?

La solution

Quelques choses à essayer:

  • Accédez au panneau de commande de plugin java ($ JAVA_HOME / bin / ControlPanel).
  • Accédez à l'onglet Advanced.
  • Agrandir Debug
  • Vérifiez Enable tracing, Enable logging et Show applet lifecycle exceptions
  • Agrandir Java console
  • Vérifier Show console
  • Cliquez OK (ou Close, en fonction de votre OS)

Lorsque votre applet charge la console Java ouvrira. Cliquez dessus et appuyez immédiatement sur « 5 ». Il consignera les pots et les classes étant tiré par les cheveux pour exécuter votre applet. Quelque part dans ce qu'il devrait y avoir un message indiquant les pots ou les classes sont considérer « non signé ». Si vous manquez la première fois, il suffit de recharger la fenêtre pour essayer à nouveau.

Autres conseils

EDIT: En raison d'un bogue dans Java 7 Update 45 vous ne devez pas ajouter trusted-Library à votre fichier manifeste. Il suffit d'ajouter le nouvel attribut appelant ADMISSIBLES-Codebase. Voir cette question pour plus d'informations: applet Java manifeste - Permettre à tous les appels avec ADMISSIBLES -Codebase

Java 7 Update 21 a été publié le 16 Avril 2013 et a provoqué notre applet pour commencer à montrer cette boîte de dialogue d'avertissement.

Par les notes de version: A partir de JDK 7u21, le code JavaScript qui appelle le code dans une applet privilégiée est traitée sous forme de code mixtes et les boîtes de dialogue d'avertissement sont élevés si les fichiers JAR signés ne sont pas marqués avec l'attribut Trusted-Library.

Pour corriger ce modifier votre fichier manifest.mf et ajouter une ligne comme ceci:

Trusted-Library: true

Vous devriez être très prudent avant de le faire bien. Si votre applet signée peut être appelé à partir javascript puis un utilisateur malveillant peut potentiellement faire des choses nuisibles sur les ordinateurs de vos utilisateurs.

Un moyen rapide pour sécuriser votre applet est de l'empêcher d'être exécuté sur d'autres sites. Pour ce faire, en mettant le code dans la méthode init() qui regarde getCodeBase().getHost() et lance une exception si elle ne correspond pas à votre site.

Java 7 Update 25 présente une autre façon de limiter les sites où votre applet peut être exécuté. Vous pouvez définir l'attribut Codebase dans votre fichier manifeste comme ceci:

Codebase: test.example.com www.example.com

Java 7 Update 45 (releated 16 Octobre 2013) introduit plus de changements au système LiveConnect (javascript à applet pont) qui peut provoquer une autre invite. Cet article parle des changements 7u45: https://blogs.oracle.com/ java-plate-forme de groupe / entrée / liveconnect_changes_in_7u45

Fondamentalement, vous aurez également à ajouter ce qui suit à votre fichier manifest pour éviter les invites:

Caller-Allowable-Codebase: test.example.com www.example.com

Si vous vendez un produit qui comprend une applet et vous ne savez pas quels domaines il peut être déployé sur vous pouvez remplir * ici.

Le mélange de confiance et le code non fiable est en même temps une vulnérabilité qui a été fixé dans le 6u19 (le CPU courant / sortie SSR au moment de l'écriture). Voir les docs. Le blocage du mélange ou à l'aide d'un débogueur doit montrer où est le problème.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top