java - start - los recursos jar en jnlp no están firmados por el mismo certificado
los recursos jar del archivo jnlp no están firmados por el mismo certificado (6)
Esta puede ser una entrada de manifiesto obsoleto de un archivo jar ya firmado que utiliza como biblioteca. Encontré este problema con jogl vía webstart. Prueba esto:
Descomprima todos los archivos jar, purgue todos los directorios META-INF, jar y vuelva a firmarlos.
He estado trabajando con web start desde hace un par de años y tengo experiencia en firmar los tarros y qué no. Estoy haciendo mi primer intento de implementar una aplicación RCP con inicio web y, aunque de hecho firmé todos los archivos jar con el mismo certificado, sigo recibiendo este error: ''los recursos jar en jnlp no están firmados por el mismo certificado''
¿Alguien más se ha encontrado con esto? Si es así, ¿alguna idea sobre cómo solucionarlo?
Descubrí que a JNLP / Webstart no le gustan las firmas múltiples / a través de jarsigner.exe para un JAR determinado. Si un JAR como BouncyCastle (que viene prescrito) se vuelve a firmar con el certificado de su empresa, la inspección visual me lleva a creer que el nuevo certificado y las firmas se realizan correctamente en el JAR. pero ese JNLP puede estar leyendo solo la primera firma (alfabética?) en el META-INF y, por lo tanto, se queja de que no coincide con los otros JAR (que tienen solo una firma corporativa en cada JAR).
Tuve exactamente la misma experiencia que la descrita por Matthew con los presuntos JAR BouncyCastle. Sin embargo, descubrí que la versión de JRE 1.6.0_14 y posterior aceptará gustosos los JAR con múltiples firmas (como era de esperar). Por lo tanto, no necesité usar el "mecanismo de extensión de componente" JNLP descrito anteriormente.
PD: no encontré ninguna referencia obvia a esta corrección en las notas de la versión 1.6.0_14. Sin embargo, he verificado que varios JAR firmados funcionan en todas las versiones posteriores (al menos 14 - 17 + 24).
Cuando tuve problemas similares después de revisar los frascos, resultó que alguien más había firmado un frasco de terceros.
Debe crear un archivo jnlp separado para los archivos jar firmados por el otro certificado y leer este jnlp de su archivo jnlp:
<resources>
...
<extension name="other" href="other.jnlp"/>
</resources>
En mi proyecto, lo que sucedió es que hay un par de instancias en el grupo de equilibradores de carga, hay algunas instancias con una versión anterior del código y otras con una versión nueva. Por lo tanto, hay certificados no firmados por el mismo certificado ...
Consulte la explicación de una de las preguntas frecuentes: ¿Cómo uso múltiples archivos JAR firmados por diferentes certificados?
Solución correcta