Je suis en train de m'auto-signer une applet Java. L'applet se compose d'une seule classe appelée TestApplet et fonctionne correctement dans la visionneuse d'applets Eclipse. L'applet est empaquetée dans un fichier jar qui est signé à l'aide d'un fichier de clés.Applets Java à signature automatique
jarsigner -keystore ..\.keystore bin\TestApplet.jar myalias
qui sorti « pot signé » Et un message d'avertissement: « Le certificat du signataire expirera dans les 6 mois »
J'ai téléchargé les fichiers vers une page Web publique et l'exécution de l'applet dans un navigateur Web mais a reçu un message d'erreur: "Application bloquée par les paramètres de sécurité" et ne peut pas exécuter l'applet. Si je change le niveau de sécurité à moyen, j'obtiens un message d'avertissement: "Une application non signée de l'emplacement ci-dessous demande l'autorisation de s'exécuter." et je peux obtenir l'applet pour courir. Mais l'applet doit fonctionner sur d'autres ordinateurs donc cette solution est inadéquate. Si je télécharge le fichier jar depuis l'hôte, je peux le vérifier.
jarsigner -verify TestApplet.jar
qui sorti « pot vérifié »
Alors, pourquoi le fichier jar ne semble être non signé lorsqu'il est lancé à partir d'un navigateur Web, mais signé quand elle est cochée avec jarsigner? La seule chose à laquelle je peux penser est que TestApplet.jar est complètement ignoré. Il est possible d'exécuter l'applet sans spécifier le paramètre archive.
Voici la structure des fichiers.
bin/TestApplet.class
bin/TestApplet.jar
index.html
Voici le code que j'utilise pour ajouter l'applet java à la page Web.
<object type="application/x-java-applet" width="100" height="100">
<param name="codebase" value="bin" />
<param name="archive" value="bin/TestApplet.jar" />
<param name="code" value="TestApplet" />
</object>
EDIT: Si cela fait une différence, les applets seront exécutées sur un réseau local non connecté à Internet.
La plupart des navigateurs considèrent «unsigned» et «self signed» comme étant la même chose, puisqu'ils n'ont aucun moyen de vérifier que vous êtes bien celui avec qui vous dites être un cert auto-signé. – aruisdante
Les fichiers JAR non signés et auto-signés ont été plus ou moins abandonnés par Oracle. En utilisant les paramètres de sécurité par défaut, la seule façon d'exécuter les applets dans le navigateur est de les signer en utilisant une véritable autorité de certification. – whiskeyspider
Voici une source de leur annonce de sécurité: https://blogs.oracle.com/java-platform-group/entry/new_security_requirements_for_rias – user1071777