[RISOLTO] Applet con Socket - Consentire Permessi

di il
1 risposte

[RISOLTO] Applet con Socket - Consentire Permessi

Salve ragazzi, ho un problemino con la mia applet... so che ci sono forti restrizioni per via della sicurezza, però mi sembrava di aver capito che applet con certificato autofirmato e con un po' di "ok" da parte dell'utente, l'applet potesse superare queste restrizioni.


Praticamente vorrei testare l'applet, che nasce come client e si collega ad un server remoto.

Provando con qualunque IP,tracui 127.0.0.1 ottengo questa eccezione:
"CLIENT" java.security.AccessControlException: access denied ("java.net.SocketPermission" "127.0.0.1:45890" "connect,resolve")
Si può fare qualcosa?

Premetto che non è un'applicazione a fini commerciali o altro, è una semplice dimostrazione personale e dato che dovrà essere usata su altri computer vorrei poterle garantire pieni permessi, la sicurezza, in questo caso, non mi interessa.


Grazie mille

1 Risposte

  • Re: [RISOLTO] Applet con Socket - Consentire Permessi

    Risolto:

    0. Aggiungere Il sito contentente l'applet all'elenco eccezioni Java tramite il pannello di sicurezza java.
    Creare un file Attributi.txt e scriverci all'interno gli attributi desiderati, per questa soluzione l'attributo importante è:
    Permissions: all-permissions

    Dopodichè, dopo aver esportato il progetto in file jar, usare keytool per generare un certificato autofirmato.

    1. keytool -genkey -alias tuoAlias -keystore C:/keystore
    2. keytool -selfcert -alias tuoAlias -keystore C:/keystore

    Dopo aver seguito le procedure, Prima di procedere con la firma del file jar, impostiamo il file Manifest.MF con gli attributi nel file "Attributi.txt"

    3. jar -ufm tuoFile.jar Attributi.txt

    Ora, firmiamo:

    4. jarsigner -tsa https://tsa.safecreative.org -keystore C:/keystore -signedjar tuoFile_firmato.jar tuoFile_originale.jar tuoAlias

    Se il 4 passo non va, usare questo sito come TSA:

    4. jarsigner -tsa http://timestamp.comodoca.com/rfc316 -keystore C:/keystore -signedjar tuoFile_firmato.jar tuoFile_originale.jar tuoAlias

    Eseguire l'applet e dare l'ok a tutte le finestre che chiedono i permessi.
    L'applet verrà eseguita con privilegi elevati e potrà usufruire dell'utilizzo delle socket.

    NOTA BENE:
    Se l'applet utilizza librerie esterne (altri file jar) queste devono essere firmate con i passi: 3 e 4.
Devi accedere o registrarti per scrivere nel forum
1 risposte