2013-05-08 11 views
5

Dall'ultimo aggiornamento Java, due delle mie applet visualizzano un pop-up di avviso per i nostri utenti anche se entrambi i file jar che stiamo utilizzando sono firmati. Ho verificato che sono firmati utilizzando il comando jarsigner -verify MyJarFile.jar. Di seguito è riportato il messaggio pop-up che stiamo vedendo ...Applet Java - "Blocca componenti potenzialmente non sicuri da eseguire?" messaggio

enter image description here

mio applet richiama una dll C++ tramite JNI. La DLL C++ richiama un modulo C# netmodule.

Qualcuno sa cosa posso fare per far sparire questo popup? Dice che l'applicazione contiene sia il codice firmato che quello non firmato, ma sto firmando ogni file java (ce n'è solo 1) nel mio file jar. C'è un livello più alto di firma che devo fare?

Modifica: questo si verifica a partire dall'ultimo aggiornamento Java. Vedere la citazione qui sotto presa da this page.

Autori e fornitori di applicazioni distribuite utilizzando sia applet Java o tecnologia Java Web Start - applicazioni distribuite agli utenti finali in fase di esecuzione tramite il browser web o di rete - dovrebbero firmare il loro codice utilizzando un certificato attendibile per la migliore esperienza utente. Nello specifico, tutto il codice Java eseguito all'interno del browser del client richiederà all'utente. Il tipo di messaggi di dialogo presentati dipende da fattori di rischio come, codice firmato o non firmato, codice che richiede privilegi elevati, JRE è sopra o sotto la linea di base di sicurezza, ecc. Gli scenari a basso rischio presentano una finestra di dialogo molto minimale e includono una casella di controllo per non visualizzare finestre di dialogo simili dallo stesso venditore in futuro. Scenari di rischio più elevati, come l'esecuzione di barattoli non firmati, richiederanno più interazione con l'utente data l'aumento del rischio.

+1

Questa domanda non è la stessa cosa della mia. Se non firmo affatto il mio file jar, ricevo il messaggio di errore nel tuo link. Questa è una funzione di sicurezza aggiunta aggiunta nell'ultimo aggiornamento Java. – gwin003

risposta

7

Ho trovato la risposta. Non avevo un file manifest nel mio progetto eclipse, quindi ho creato un file chiamato manifest.mf inserendo il seguente codice.

Manifest-Version: 1.0 
Trusted-Library: true 

Quando si crea il file jar in eclissi, nella terza pagina, richiede un file manifest. Credo che questa opzione sia impostata su "Crea un file manifest per me", ma questo file manifest contiene solo la prima riga sopra. Scegli l'opzione che dice 'Usa manifest esistente dallo spazio di lavoro' e scegli il file manifest.mf appena creato. Quindi firma il tuo barattolo come faresti normalmente.

È stato l'attributo Trusted-Library che ha risolto il problema. Controlla this page per ulteriori informazioni su questo attributo e altri file jar con codice privilegiato.

+0

Ha funzionato come un fascino su IE9. –