2012-05-01 10 views
5

ho firmato il mio vaso in vari modi, ma io continuo a ricevere il messaggio di errore di cui sopra quando uso il comando:Questo vaso contiene voci il cui certificato del firmatario scadranno entro sei mesi

jarsigner -verify -verbose [my jar] 

Esiste un modo sbarazzarsi di questo errore? Il mio codice smetterà di funzionare dopo sei mesi se non viene ricertificato?

Ecco l'intero set di comandi utilizzati per generare la chiave & firmare il vaso:

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

risposta

12

Esiste un modo per sbarazzarsi di questo errore?

Non si tratta di un errore, ma di un avviso. Per sapere come evitarlo, assicurati che il certificato abbia una data di validità superiore a 6 mesi. Per un certificato autofirmato, si tratta di fornire i parametri corretti durante la generazione della chiave. Ecco lo 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 è -validity 180. 180 giorni, o circa 6 mesi, per quell'esempio. Usa 1800 per circa 5 anni.

Il mio codice smetterà di funzionare dopo sei mesi se non viene ricertificato?

Non esattamente.

  • L'utente su alcuni sistemi verrà avvisato che il certificato è scaduto e verrà offerta la scelta di accettarlo. Se lo fanno, funzionerà normalmente. per esempio. di "firma è scaduta":
  • Altri sistemi potrebbero essere configurati per rifiutare automaticamente certificati scaduti. Su quelle macchine, molto probabilmente il codice non verrà mai avviato, o in rari casi, verrà caricato ma verrà applicata una sandbox.

pensavo di aver girato tutto java caching off anche se, come è fastidioso quando si cerca di sviluppare.

Il caching dell'applet durante il test è un grosso problema. Cerco di evitare di testare le applet nel browser fino a quando non è assolutamente necessario. Ci sono 3 modi che conosco per testare le applet che non memorizzeranno nella cache le classi.

  1. appletviewer
  2. Un applet ibrido/applicazione
  3. Appleteer (leggermente migliore rispetto applet viewer per certi aspetti, ho sviluppato qualche tempo fa)
+0

Ok. Bene, abbiamo il pieno controllo sui sistemi su cui verrà distribuito questo software, quindi probabilmente non sarà un problema. Tuttavia, mi sentirei molto meglio se potessi liberarmi di questo avvertimento in primo luogo. Stavo già usando l'argomento di validità, ma non sembrava fare nulla.Ecco esattamente cosa ho fatto per firmare il barattolo: http://pastie.org/3846104 – David

+0

Scusate, non inserisco spesso su SO, e non mi sono reso conto che invio invia un commento/modifica. Ho modificato il mio post per risolverlo. – David

+1

Altri suggerimenti 1) Le domande possono essere modificate dopo essere state pubblicate. 2) Non pubblicare collegamenti a informazioni che sono meglio modificate nella domanda. 3) Quando si aggiungono input/output, HTML/XML o sorgente nelle domande, utilizzare la formattazione del codice. 4) I commenti possono essere cancellati. - 4) è rilevante poiché ho già seguito il collegamento, copiato il testo e modificato la domanda per aggiungere i comandi di input (utilizzando la formattazione del codice). –

Problemi correlati