java - programacion - Se encontró una entrada sin firmar en el recurso
manual de programacion android pdf (5)
Tengo el siguiente archivo JNLP:
<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>
Ahora, cuando intento ejecutarme desde la web, aparece el siguiente error:
Found unsigned entry in resource
Con la siguiente excepción.
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$000(Unknown Source)
at com.sun.javaws.Main$1.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
¿Alguien sabe cómo arreglar este problema?
El problema también puede ocurrir con versiones anteriores de Java si firma con una versión más reciente de Java.
- Firma con 1.8u74 y trabajos anteriores con todas las versiones.
- Firmar con 1.8u101 y más reciente funciona con 1.7u80 y más reciente pero no con versiones anteriores en el cliente.
Parece que hay un cambio incompatible en el algoritmo de signo.
En mi caso, el applet realmente tenía una entrada sin firmar en la carpeta META-INF. ) Una forma de solucionarlo sería volver a firmarlo. Pero en Java, 8 applets autofirmados fueron demoted a casi el mismo nivel que los no firmados. Y el applet no requería ningún privilegio adicional. Por lo tanto, fue suficiente simplemente un-sign y agregar a la lista de sitios de confianza .
Esto funcionó para mí:
Ve al Panel de Control / Java.
Luego haga clic en el botón "Configuración" y active la opción "Guardar archivos temporales en mi computadora".
Es raro, pero funcionó!
Tuve el mismo problema al compilar en mi linux maschine (con JDK 6 U45). Pero obtuve este error solo cuando también intenté iniciar la aplicación firmada con Java 6 U45.
Cuando intento iniciar la aplicación con una versión más nueva de Java (p. Ej., Java 8) estaba bien todo el tiempo, sin ningún mensaje de error.
Cuando utilicé un maschine de Windows para compilar el proyecto (también con 6 Update 45), también funciona de forma extraña cuando uso Java 6 U45 para comenzar.
Solo mis 2 centavos .... Saludos!
Tuve un problema similar con mis aplicaciones.
Tengo una aplicación java swing desplegada con javaws:
- cuando ejecuto la aplicación usando JRE 1.6 obtengo la excepción
- cuando ejecuto la aplicación utilizando JRE 1.7 y JRE 1.8 funciona
Revisé todo el tarro, MANIFEST.MF, etc. y todo estaba bien. Finalmente, descubrí que he usado un nuevo punto final TSA para firmar mis frascos.
- cuando uso esta TSA http://tsa.starfieldtech.com, la aplicación funciona bien con JRE6,8
- cuando uso esta TSA http://services.globaltrustfinder.com/adss/tsa la aplicación solo se ejecuta con JRE8
De este recurso http://docs.oracle.com/javase/7/docs/technotes/tools/windows/jarsigner.html Leo Para generar la marca de tiempo, jarsigner se comunica con la TSA con el Protocolo de marca de tiempo (TSP) definido en RFC 3161. Cuando tiene éxito, el token de marca de tiempo devuelto por la TSA se almacena con la firma en el archivo de bloque de firma.
Alguien puede dar más información sobre este problema? En particular, no quiero que me obliguen a usar una TSA en particular. ¿Por qué existen estas diferencias entre TSA? Gracias