views:

230

answers:

2

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

This is the list I've compiled so far:

An unsigned Java applet ...

  1. Cannot access the local filesystem.
  2. Cannot access the system clipboard.
  3. Cannot initiate a print job.
  4. Cannot connect to or retrieve resources from any third party server (any server other than the server the applet originated from).
  5. Cannot use multicast sockets.
  6. Cannot create or register a SocketImplFactory, URLStreamHandlerFactory, or ContentHandlerFactory.
  7. Cannot listen to incoming socket connections.
  8. Cannot listen for datagrams.
  9. Cannot access some of the system properties (java.class.path, java.home, user.dir, user.home, user.name).
  10. Cannot create or register a SecurityManager object.
  11. Cannot dynamically load native code libraries with the load() or loadLibrary() methods of Runtime or System.
  12. Cannot spawn new processes by calling any of the Runtime.exec() methods.
  13. Cannot create or access threads or thread groups outside of the thread group in which the untrusted code is running.
  14. Cannot define classes in java.*, sun.* and netscape.*.
  15. Cannot explicitly load classes from the sun.* package.
  16. Cannot exit the Java interpreter by calling System.exit() or Runtime.exit().
  17. Cannot access the system event queue.
  18. Cannot use the java.lang.Class reflection methods to obtain information about nonpublic members of a class, unless the class was loaded from the same host as the untrusted code.
  19. Cannot manipulate security identities in any way (java.security).
  20. Cannot set or read security properties (java.security).
  21. Cannot list, look up, insert, or remove security providers (java.security).

Question: Are there any restrictions missing? If so, please clearly state what restriction you believe is missing from the list.

A: 

See this from Sun's tutorial: What Applets Can and Cannot Do.

Jesper