2011-11-08 29 views
5

ottengo il seguente errore in un barattolo di self-signed:Jarsigner: "Questo jar contiene voci la cui catena di certificati non è convalidata."

jar verified. 

Warning: 
This jar contains entries whose certificate chain is not validated. 

Re-run with the -verbose and -certs options for more details. 

ho firmato il barattolo in questo modo:

"C:\Program Files\Java\jdk1.7.0\bin\jarsigner" -keystore myKeyStore myJar.jar myAlias 

mio vaso ha 2 punti di ingresso: uno per Java Web Start, e uno per un'applet.

  • Se eseguo il jar in modo java web start, non ha incidenza.
  • Ma se eseguo il jar come applet. A un certo punto ricevo un forte avviso di sicurezza quando provo ad accedere a una risorsa bitmap incorporata nel jar.

L'utilizzo delle opzioni -verbose e -certs mostra molte linee. E non capisco niente di questo. Questo è l'output: output.txt (parte delle 6307 righe riprodotte di seguito).

s  157850 Tue Nov 08 12:57:44 CET 2011 META-INF/MANIFEST.MF 

     X.509, O=keyja.com 
     [certificate is valid from 17/08/11 17:32 to 24/07/11 17:32] 
     [CertPath not validated: null] 

     112909 Tue Nov 08 12:57:44 CET 2011 META-INF/KEYJA_CO.SF 
     1108 Tue Nov 08 12:57:44 CET 2011 META-INF/KEYJA_CO.RSA 
sm  180 Tue Nov 08 12:16:40 CET 2011 com/keyja/client/a/a/a/k.class 

     X.509, O=keyja.com 
     [certificate is valid from 17/08/11 17:32 to 24/07/11 17:32] 
     [CertPath not validated: null] 

sm  252 Tue Nov 08 12:16:40 CET 2011 com/keyja/client/a/a/a/r.class 
... 
(around 6000 lines of other output along the same lines) 

    s = signature was verified 
    m = entry is listed in manifest 
    k = at least one certificate was found in keystore 
    i = at least one certificate was found in identity scope 

jar verified. 

Warning: 
This jar contains entries whose certificate chain is not validated. 

Come firmare il file jar?

+0

ha un senso. Ho incluso un collegamento all'output. – Joel

+0

* "Se eseguo il jar in modalità java web start, non ha incidenza." * Quale livello di autorizzazioni di sicurezza fa la richiesta di avvio JWS? –

+0

JWS in esecuzione in modalità sandbox. – Joel

risposta

1

Grazie Andrew Thompson. Ho unsigned il mio file jar e ho trovato il bug. È meglio non firmare, hai ragione su questo, perché la firma non ha alcun senso dal momento che non ho bisogno di uscire dalla sandbox.

Per la cronologia, il bug era l'uso della libreria jnlp.jar. Per farlo funzionare, ho lanciato l'applet usando il codice jnlp/applet invece di un tag standard.

+0

quindi come lo hai risolto? un po 'più in dettaglio per favore –

+0

Ho lanciato l'applet usando il codice jnlp/applet invece di un tag di applet html standard. http://docs.oracle.com/javase/tutorial/deployment/deploymentInDepth/embeddingJNLPFileInWebPage.html – Joel

1

Solo una riga risponde alla domanda, immagino. E se guardi più da vicino lo vedrai. Qui è


[certificato è valido dal 17/08/11 17:32 al 24/07/11 17:32]

Come posso sperare, si sa che oggi non è il 24 luglio quindi devi solo ri-firmare la tua app

+0

Se il certificato non è più valido, allora avrà ricreare il certificato per estendere il periodo di tempo valido. –

+0

No, è il 24/07/2111 ed è valido. – Joel

+0

Mi chiedo solo ... È valido dal 17/08/2111 17:32 al 24/07/2111 17:32? – user592704

0

Ho esattamente lo stesso problema.

C'è una modifica nella convalida nelle nuove versioni di Java 7 e Java 6. ID bug è: 6861062 java classes_security Disabilita MD2 nella convalida della catena di certificati.

Al momento della firma il file Jara, ho avuto qualche messaggio di avviso e durante l'esecuzione del comando: jarsigner MyTools.jar -verify verbose -certs

ho avuto il messaggio: X.509, OU = Classe 3 Autorità di certificazione primaria pubblica, O = "VeriSign, Inc.", C = US [certificato valido dal 29.01.96 01:00 al 02.08.28 01:59] [CertPath non convalidato: controllo dei vincoli dell'algoritmo non riuscito: MD2withRSA]

La mia soluzione è: - usa un'altra versione del JDK per firmare e JRE Plugin. - Aggiorna la sicurezza del certificato per non utilizzare questo algoritmo.

Spero che ti possa aiutare.

saluti

Problemi correlati