Limitations on what a non-standard Java applet can do?

I am trying to compile a complete list of all the restrictions placed on unsigned Java applets (defined as things that a normal Java application can do, but an unsigned Java applet cannot).

This is the list I have compiled so far:

Unbound Java applet ...

  • Unable to access local file system.
    • Unable to access system buffer.
    • Cannot start print job.
    • It is impossible to connect to resources or receive resources from any third-party server (on any server except the server from which the applet was created).
    • Unable to use multicast sockets.
    • Cannot create or register SocketImplFactory , URLStreamHandlerFactory or ContentHandlerFactory .
    • Unable to listen for incoming socket connections.
    • Unable to listen to datagrams.
    • Unable to access some system properties (java.class.path, java.home, user.dir, user.home, user.name).
    • Unable to create or register a SecurityManager object.
    • It is not possible to dynamically load native code libraries using the load() or loadLibrary() methods of Runtime or System .
    • It is not possible to create new processes by calling any of the Runtime.exec() methods.
    • It is not possible to create or access threads or groups of threads outside of a thread group in which the untrusted code runs.
    • Unable to define classes in java.* , sun.* And netscape.* .
    • You cannot explicitly load classes from the sun.* Package.
    • You cannot exit the Java runtime by calling System.exit() or Runtime.exit() .
    • Unable to access the system event queue.
    • It is not possible to use reflection methods java.lang.Class to obtain information about non-public members of a class, unless the class has been loaded from the same host as the untrusted code.
    • It is not possible to manipulate security identifiers in any way (java.security).
    • Unable to set or read security properties (java.security).
    • Unable to list, find, insert, or delete security providers (java.security).

Question: Are there any restrictions? If yes, please clearly indicate what restriction, in your opinion, is not listed.

+6
java security jvm applet
source share
2 answers

See this from Sun's tutorial: What applets can and cannot do .

+3
source share

Also you cannot register an UncaughtExceptionHandler .

+1
source share

All Articles