2012-05-01 11 views
5

he firmado mi frasco de varias maneras, pero aparece el mensaje de error anterior cuando se utiliza el comando:Este vaso contiene entradas cuyo certificado del firmante expiran dentro de los seis meses

jarsigner -verify -verbose [my jar] 

¿Hay una manera para deshacerse de este error? ¿Mi código simplemente dejará de funcionar después de seis meses si no se vuelve a certificar?

Aquí es todo el conjunto de comandos que se utilizan para generar la clave & firmar el tarro:

keytool -genkey -keystore [keystore] -alias [alias] -validity 2000 
keytool -selfcert -keystore [keystore] -alias [alias] -validity 2000 
jarsigner -keystore [keystore] [jar] [alias] 

Respuesta

12

¿Hay una manera de deshacerse de este error?

No es un error, sino una advertencia. En cuanto a cómo evitarlo, asegúrese de que el certificado tenga una fecha de validez de más de 6 meses. Para un certificado autofirmado, se trata de proporcionar los parámetros correctos al generar la clave. Aquí está el keytool Example.

keytool -genkeypair -dname "cn=Mark Jones, ou=Java, o=Oracle, c=US" 
    -alias business -keypass <new password for private key> -keystore /working/mykeystore 
    -storepass <new password for keystore> -validity 180 

La parte importante es -validity 180. 180 días, o alrededor de 6 meses, para ese ejemplo. Use 1800 por alrededor de 5 años.

¿Mi código simplemente dejará de funcionar después de seis meses si no se vuelve a certificar?

No exactamente.

  • El usuario en algunos sistemas será advertido de que el certificado ha expirado, y se le ofrecerá la opción de aceptarlo. Si lo hacen, funcionará normalmente. p.ej. de "la firma ha expirado":
  • Es posible que otros sistemas estén configurados para rechazar automáticamente los certificados desactualizados. En esas máquinas, es muy probable que el código nunca se inicie o, en casos excepcionales, se cargue, pero se aplique una caja de arena.

pensé que me había convertido todo el almacenamiento en caché de Java fuera, aunque, como es molesto cuando se trata de desarrollar.

El almacenamiento en caché de Applet durante las pruebas es un gran problema. Intento evitar probar applets en el navegador hasta que sea absolutamente necesario. Hay 3 formas que conozco para probar applets que no almacenan en caché las clases.

  1. AppletViewer
  2. un applet híbrido/aplicación
  3. Appleteer (ligeramente mejor que visor de applets en algunos aspectos, he desarrollado hace un tiempo)
+0

Ok. Bueno, tenemos control total sobre los sistemas en los que se implementará este software, por lo que probablemente no sea un problema. Sin embargo, me sentiría mucho mejor si pudiera deshacerme de la advertencia en primer lugar. Ya estaba usando el argumento de validez, pero no pareció hacer nada.Aquí es exactamente lo que hice para firmar el archivo jar: http://pastie.org/3846104 – David

+0

Lo siento, no suelo publicar en SO, y no me di cuenta que enter somete una edición/comentario. Edité mi publicación para arreglar eso. – David

+1

Más sugerencias 1) Las preguntas se pueden editar después de que se publiquen. 2) No publique enlaces a información que se edite mejor en la pregunta. 3) Cuando agregue entrada/salida, HTML/XML o fuente en preguntas, use el formato del código. 4) Los comentarios pueden ser eliminados. - 4) es relevante porque ya seguí el enlace, copié el texto y edité la pregunta para agregar los comandos de entrada (usando el formato del código). –

Cuestiones relacionadas