Superhero Duke - JavaHelp iconSecurity Constraints

The JavaHelp System libraries might encounter the following security restrictions when used within the confines of a SecurityManager (such as is imposed for Java Web Start apps.). The restrictions can be relaxed by requesting extended permissions within the JNLP file - if the user (or their system) refuses the extended permissions, the app. will not make it to screen.

Permissions sandboxed j2ee-app-client all
Use 'favorites' for HelpSets. no no yes
Access 'unsafe' properties (e.g. user.dir/user.home). This seems to apply only to jhall.jar, which is used by a variety of CLI based applications. no no yes
Establish new classloader no no yes
File access (JFileChooser/File) no no yes
File access (FileOpenService/FileContents) prompted yes yes
Access URLs from foreign hosts prompted * yes yes
Access print services prompted * yes yes
Suppress Java Application Window banner on root level (frame, dialog, window, pop-up..) containers. no yes yes
Always makes it to screen. Not potentially blocked by end-user or their system. ** yes no no

* The 'prompted' access to foreign URLs and printing has been tested in Java 1.6 for Win based machines, but not in earlier versions or on other platforms.

** Users will usually be prompted to run JNLP descriptors that call for extended permissions.

The sudden appearance of a dialog asking for 'full access' can make some users hesitate to proceed. It is best to forewarn the user that the help will prompt for extended permissions, and the reasons for doing so '..these help files require extended access, so the help system can remember your favorites!'.

Note that word 'usually'. This alludes to the fact the the Plug-In might be configured (by the end-user, or their System Administrator) to refuse extended priviliges, or extended priviliges where the code is signed using an invalid security certificate or a certificate that was not verified by a CA (e.g. self-signed security certificates). This is not how Java comes 'out-of-the-box', but expect some systems to have limits to the privileges that will be granted to Java code.

For these reasons, it is a good idea to offer a fully sandboxed JNLP launch for the help right alongside the versions that require extended permissions, if at all possible.

These pages represent a project aimed at getting JWS hosting of JavaHelp, at the JavaHelp home site. They are made in the form they might eventually appear at the JavaHelp site, and as such, sometimes give false or misleading information.

Note to JavaHelp content developers: Remove this message from src/conf/fragments/html.page.bottom.htmlf before generating the build for the JavaHelp site proper!

SuperHero Duke - logo of the JavaHelp System

JavaHelp ® TM of Sun Microsystems, Inc.
JWS deployment/web pages brought to you by Andrew Thompson of PSCode.org.