Entrée trouvée non signée dans la ressource

j'ai le fichier JNLP suivant:

<jnlp spec="1.0+" codebase="http://****:****" href="tcm2012.jnlp">
  <information>
    <title>TCM 2012</title>
    <vendor>Drift og Performance, *** Servicecenter</vendor>
    <homepage href="http://******"/>
    <description/>
  </information>
  <security>
    <all-permissions/>
  </security>
  <resources>
    <j2se version="1.6+"/>
    <jar href="tcm2012.jar"/>
  </resources>
  <application-desc main-class="com.****.kundeservice.TCMApplication"/>
</jnlp>

Maintenant, quand j'essaie de le lancer depuis le web j'obtiens l'erreur suivante:

Found unsigned entry in resource

à l'exclusion de

com.sun.deploy.net.JARSigningException: Found unsigned entry in resource: http://*****:****/tcm2012.jar
at com.sun.javaws.security.SigningInfo.getCommonCodeSignersForJar(Unknown Source)
at com.sun.javaws.security.SigningInfo.check(Unknown Source)
at com.sun.javaws.security.JNLPSignedResourcesHelper.checkSignedResourcesHelper(Unknown Source)
at com.sun.javaws.security.JNLPSignedResourcesHelper.checkSignedResources(Unknown Source)
at com.sun.javaws.Launcher.prepareResources(Unknown Source)
at com.sun.javaws.Launcher.prepareAllResources(Unknown Source)
at com.sun.javaws.Launcher.prepareToLaunch(Unknown Source)
at com.sun.javaws.Launcher.prepareToLaunch(Unknown Source)
at com.sun.javaws.Launcher.launch(Unknown Source)
at com.sun.javaws.Main.launchApp(Unknown Source)
at com.sun.javaws.Main.continueInSecureThread(Unknown Source)
at com.sun.javaws.Main.access"151920920"0(Unknown Source)
at com.sun.javaws.Main.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

personne Ne sait comment résoudre ce problème?

24
demandé sur Marc Rasmussen 2013-07-29 16:09:02

5 réponses

cela a fonctionné pour moi:

aller le Panneau de configuration/Java.

puis cliquez sur le bouton" Paramètres "et activez l'option" Conserver les fichiers temporaires sur mon ordinateur."

c'est bizarre, mais ça a marché!

22
répondu martins.tuga 2015-02-24 05:41:38

j'ai eu un problème similaire avec mes applications.

j'ai un java swing application déployée avec javaws:

  • quand j'exécute L'application en utilisant JRE 1.6 j'obtiens l'exception
  • quand j'exécute L'application en utilisant JRE 1.7 et JRE 1.8 il fonctionne

j'ai vérifié tout le pot, manifeste.MF etc. et tout était bien. Finalement, j'ai découvert que j'avais utilisé un nouveau terminal TSA pour signer mes bocaux.

de cette ressource http://docs.oracle.com/javase/7/docs/technotes/tools/windows/jarsigner.html j'ai lu à générer l'horodatage, jarsigner communique avec la TSA avec le Time-Stamp Protocol (TSP) défini dans la RFC 3161. En cas de succès, le jeton de pointage retourné par la TSA est stocké avec la signature dans le fichier signature block.

Quelqu'un peut donner plus de détails sur ce problème? En particulier, Je ne veux pas être forcé d'utiliser un TSA particulier. Pourquoi y a-t-il des différences entre les CST? Merci

2
répondu CARCARLO 2016-03-31 09:48:51

le problème peut également se produire avec des Versions Java plus anciennes si vous signez avec une version Java plus récente.

  • signe avec 1.8u74 et des œuvres plus anciennes avec toutes les versions
  • signe avec 1.8u101 and new works with 1.7u80 et plus récente, mais pas avec des versions plus anciennes sur le client.

il semble y avoir un changement incompatible dans l'algorithme des signes.

2
répondu Horcrux7 2016-11-11 15:12:16

j'mon cas, l'applet vraiment eu unsigned entrée dans le répertoire META-INF. ) Une façon de réparer ça serait de le signer de nouveau. Mais en java 8 applets auto-signés étaient rétrogradé à presque le même niveau que ceux non signés. Et l'applet n'avait pas besoin de privilèges supplémentaires. Il était donc suffisant un signe et ajouter à la liste de sites de confiance .

0
répondu Vadzim 2017-03-20 10:04:20

j'ai eu le même problème lors de la compilation sur mon linux maschine (avec JDK 6 U45). Mais j'ai eu cette erreur seulement quand j'ai aussi essayé de démarrer l'application signée avec Java 6 U45.

quand j'essaie de démarrer L'application avec une plus récente version Java (E. G Java 8) Il était OK tout le temps, sans message d'erreur.

quand j'ai utilisé une fenêtre maschine pour compiler le projet (aussi avec 6 Update 45), Il fonctionne étrangement aussi quand J'utilise Java 6 U45 pour commencer.

juste mes 2 cents.... Acclamations!

0
répondu Ben 2016-10-27 11:55:10