¿Qué impide que Java verifique los frascos firmados con múltiples algoritmos de firma?

Fondo rápido: Lanzamos una aplicación webstart, que incluye nuestros propios archivos jar de aplicaciones y numerosos archivos jar de terceros. Webstart requiere que todos los archivos jar distribuidos a los que hace referencia el archivo jnlp estén firmados por un solo certificado. Por lo tanto, firmamos todos los frascos (nuestros frascos y los frascos de terceros) utilizando un certificado autofirmado. Algunos frascos de terceros ya están firmados por la parte que los produjo, pero simplemente los firmamos nuevamente, y esto funciona bien. Hasta ahora.

Problema: Recientemente pasamos de Java 6 a Java 7, y de repente el inicio web se niega a cargar algunos archivos jar, quejándose: "Resumen de archivo de firma SHA1 no válido". Esto solo ocurre con algunos frascos y no con otros, y el hilo común que aparece entre los frascos que fallan parece tener varias firmas.

Después de buscar alrededor de S.O. e internet, parece que el algoritmo de firma predeterminado para el jarsigner de Java ha cambiado entre Java 6 y Java 7, de SHA1 a SHA256, y varias personas recomiendan usar "jarsigner -digestalg SHA1" para evitar problemas de verificación. Lo intenté, y estoy seguro de que nuestros frascos de firma múltiple ahora lo verifican. Así que esto parece ser una solución para nuestro problema.

De lo que puedo recopilar, parece que la firma de terceros es una firma SHA1, y firmamos con el valor predeterminado, SHA256, que resulta en una mezcla de firmas. Cuando fuerzo SHA1 usando el interruptor '-digestalg', tenemos dos firmas del mismo tipo, y la verificación ahora funciona. ¿Entonces parece que el problema es causado por tener varias firmas con diferentes algoritmos? ¿O hay algún otro factor que me falta?

Preguntas:

¿Por qué no se puede verificar con SHA1 + SHA256, pero se verifica con SHA1 + SHA1? ¿Hay alguna razón técnica? ¿Una razón de política de seguridad? ¿Por qué no se puede verificar que ambas firmas son correctas?¿Hay algún inconveniente para nosotros al usar (seguir usando) SHA1 en lugar del SHA256 ahora predeterminado?

Respuestas a la pregunta(3)

Su respuesta a la pregunta