Pourquoi Java me dit que mon applet contient du code signé et non signé?
Mon applet Java signée a été en cours d'exécution fine jusqu'à la mise à jour Java 19. Aujourd'hui, certains, mais pas tous les utilisateurs sur la mise à Jour Java 19 rapport de sécurité java message indiquant que notre applet contient à la fois du code signé et non signé.
Le processus de création de notre applet est comme suit:
- Propre et Construire l'applet de projet dans l'EDI Netbeans.
- Ouvrir l'Applet jar fichier dans WinRAR et ajouter la pilote JDBC mysql .les fichiers de classe dans le fichier jar.
- Signer l'applet fichier jar.
Quelqu'un peut-il me dire comment faire pour déterminer le code est signé et que le code n'est pas signé dans notre applet? Est-il une meilleure façon d'inclure le pilote JDBC mysql fichier jar dans notre applet autres que la copie le fichier jar contenu dans notre applet fichier jar?
Grâce
source d'informationauteur JohnCooperNZ
Vous devez vous connecter pour publier un commentaire.
Certaines choses à essayer:
Advanced
onglet.Debug
Enable tracing
Enable logging
etShow applet lifecycle exceptions
Java console
Show console
OK
(ouClose
selon votre système d'exploitation)Lors de votre applet se charge de la console Java s'ouvre. Cliquez dessus et appuyez immédiatement sur '5'. Il enregistre les pots et les classes être récupérées à l'exécution de votre applet. Quelque part dans cette il devrait y avoir un message indiquant que des pots ou des classes sont à considérer "non signé". Si vous l'avez manqué la première fois, rechargez simplement la fenêtre d'essayer de nouveau.
EDIT: en Raison d'un bogue dans Java 7 Update 45, vous ne devez pas ajouter de Confiance-Bibliothèque de votre fichier manifeste. Il suffit d'ajouter le nouvel attribut de l'Appelant Admissibles à base de Code. Voir cette question pour plus d'info: Applet Java manifeste - Permettre à tous les Appelant Admissibles à base de Code
De Java 7 Update 21 a été publié le 16 avril 2013 et a causé notre applet pour commencer l'affichage de cette boîte de dialogue d'avertissement.
Par les notes de version:
Comme de JDK 7u21, du code JavaScript qui appelle le code à l'intérieur d'un privilège de l'applet est traité comme un mélange de code et les boîtes de dialogue d'avertissement sont augmentés si le signés les fichiers JAR ne sont pas marqués avec la Confiance-la Bibliothèque de l'attribut.
Pour résoudre ce éditer votre manifeste.mf fichier et ajouter une ligne comme ceci:
Vous devriez être très prudent avant de le faire bien. Si votre applet signée peut être appelé à partir de 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 de s'exécuter sur d'autres sites web. Faire cela en mettant le code dans le
init()
méthode qui ressemble àgetCodeBase().getHost()
et lève une exception si elle ne correspond pas à votre site.De Java 7 Update 25 introduit un autre moyen de limiter les sites où votre applet peut être exécuté. Vous pouvez définir l'attribut Codebase dans votre fichier manifeste comme ceci:
De Java 7 Update 45 (releated 16 octobre 2013) introduit des modifications plus à la LiveConnect système (javascript, c'est-à-applet pont) qui peuvent provoquer une autre invite. Cet article parle de la 7u45 changements: https://blogs.oracle.com/java-platform-group/entry/liveconnect_changes_in_7u45
Fondamentalement, vous devrez également ajouter les lignes suivantes à votre fichier de manifeste pour éviter les invites:
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.
Mélange de confiance et de code non sécurisé ensemble, c'est une vulnérabilité a été corrigée dans les 6u19 (le CPU actuel/SSR libération au moment de la rédaction). Voir les docs. Blocage du mélange ou à l'aide d'un débogueur doit montrer où est le problème.