Firmare un Applet

21 luglio 2006

Molti sanno cos’è un Applet e, magari, avranno anche sviluppato qualche simpatica applicazione in Java da poter eseguire sulle proprie pagine web. Probabilmente, però, non altrettanti conoscono le limitazioni cui sono soggetti gli Applet e, se si è testato il proprio Applet unicamente con l’Applet Viewer fornito con il J2SE (magari utilizzando Eclipse come strumento di sviluppo), si potrebbe correre il rischio di restare delusi e sorpresi nel vedere scatenarsi eccezioni di tipo java.security.AccessControlException (o java.lang.SecurityException) quando si testa l’Applet in una effettiva pagina web.

Vediamo, allora, di approfondire meglio questo genere di concetti, cercando di trovare una risposta che ci chiarisca le idee relativamente alle seguenti domande:

  • Quali sono le limitazioni di un Applet?
  • Perché esistono delle limitazioni sugli Applet?
  • Perchè l’Applet Viewer potrebbe trarci in inganno?
  • È possibile superare le limitazioni sugli Applet? E, se si, come?

Il codice di un’applicazione Java viene considerato affidabile (trusted) dalla Java Virtual Machine in quanto si presume che esso venga eseguito volontariamente dall’utente di un computer. Un Applet, al contrario, è valutato dalla JVM come codice non affidabile (untrusted) e pertanto potenzialmente pericoloso per la sicurezza della macchina e dei dati in essa contenuti.I motivi sono facilmente intuibili: si pensi, ad esempio, al fatto che un Applet, se fosse libero di eseguire qualunque operazione, potrebbe accedere liberamente al file system di una macchina leggendo qualunque informazione o, ancora peggio, cancellando qualsiasi file!

Anche le limitazioni sulla connessione via Socket hanno una logica incentrata sulla sicurezza: infatti, un Applet può aprire un Socket soltanto verso il server da cui lo stesso Applet è stato scaricato. E così, per analoghe ragioni, è fatto divieto agli Applet di caricare librerie, invocare metodi nativi ed eseguire processi su un client.

In generale, un browser esegue il codice di un Applet all’interno di una sandbox (letteralmente “buca di sabbia”) che ne controlla le funzionalità imponendo le limitazioni di cui si è parlato.

Dunque, ci si potrebbe chiedere: gli Applet vanno utilizzati unicamente per creare effetti grafici accattivanti e gestire funzionalità limitate? La risposta è no. Gli Applet costituiscono, sicuramente, un mezzo sufficientemente potente per l’esecuzione di applicazioni attraverso il Web. È chiaro che se si sta pensando di implementare un’applicazione di tipo enterprise, le soluzioni da adottare sono altre (argomento che esula dal contenuto di questo articolo) ma è importante sapere che è possibile ampliare lo spettro di azione degli Applet superando le limitazioni di cui si è fatta menzione in precedenza. Non ci resta che vedere come fare per rendere un Applet un’applicazione trusted.

Se vuoi aggiornamenti su Firmare un Applet inserisci la tua e-mail nel box qui sotto:
 
X
Se vuoi aggiornamenti su Firmare un Applet

inserisci la tua e-mail nel box qui sotto:

Ho letto e acconsento l'informativa sulla privacy

Acconsento al trattamento di cui al punto 3 dell'informativa sulla privacy