Applet de Java - Necesita certificado de firma de código frente a certificado SSL

5

Estoy trabajando en un applet de Java que solía ser autofirmado. Ahora que se está utilizando Java 7u51, estoy trabajando para que se firme el frasco del applet.

Utilicé el certificado / clave utilizado para el sache apache2 para firmar el frasco. Para hacer esto, tuve que crear un nuevo almacén de claves utilizando la clave / certificado y la biblioteca Not Yet Commons SSL . / p>

Si ejecuto jarsigner -verify en el applet jar, obtengo:

This jar contains entries whose signer certificate's ExtendedKeyUsage extension
doesn't allow code signing.

El applet sigue recibiendo un error de certificado no válido. Puedo ver el certificado, y es el mismo certificado usado para SSL. El mensaje de error dice que se bloqueó debido a su firma automática, ¡pero este no es un certificado autofirmado!

Puedo ejecutar el applet cuando muevo la configuración de seguridad a "medio", pero esto es inaceptable para este proyecto.

El certificado que usé para firmar esto es parte de una cadena (aproximadamente 4 de largo). ¿Hay alguna manera de que necesite firmar el frasco usando toda la cadena? ¿Necesito usar un certificado de firma de código?

    
pregunta aglassman 29.01.2014 - 20:17
fuente

1 respuesta

4

Si jarsigner -verify le dice que hay un problema, es probable que la JVM rechace su applet, por el mismo motivo, ya que utilizan el mismo código base.

El Extended Key Usage es una extensión de certificado estándar que indica la lista exhaustiva de "usos" "para lo cual se permite el certificado. En este caso, parece que jarsigner (y, por lo tanto, presumiblemente, la JVM) es firme en el certificado que contiene esa extensión con el OID específico que dice "firma de código". Depende de su CA escribir la extensión correspondiente; un certificado para un servidor SSL no contendrá dicha extensión de manera predeterminada (si tiene un "uso de clave extendida", contendrá OID para cosas como "autenticación de servidor", no para "firma de código").

Tendrá que obtener un certificado de firma de código específico. No todos los CA venden este tipo de cosas.

    
respondido por el Tom Leek 29.01.2014 - 21:41
fuente

Lea otras preguntas en las etiquetas