previous next trail start tutorial home feedback openwings.org

Introduction to Openwings Code Security

This tutorial trail discusses how Java security policies are applied to Openwings components to implement code security. Previous releases of Openwings (through 0.9.1) ran with a wide-open Java security policy. Beginning with the 0.9.2 release, each Java component installed on an Openwings system will need to have its own security policy.

This tutorial assumes familiarity with Java security principles in general. We recommend the following resources:

This tutorial also assumes that you are familiar with building Openwings components. Please see the Developing Components tutorial trail for more information.

In Openwings, Code Security is implemented by the Install Service and Container Services. Your component should have a default security policy that indicates what Java permissions your code should be granted, and what permissions should be allocated to other components that use your component's services. This policy does not contain hardcoded paths but uses the variable notation supported by the Install Service.

When your component is installed, the Install Service takes your component's default security policy and performs variable resolution to turn it into the actual security policy that will be applied to your component at runtime. This policy file is stored in a location outside your component's image on the hard drive as a precaution.

When your component is run, Container Services makes sure that the component security policy is enforced. The Container Manager enforces security on standalone Java processes by setting the java.security.manager and java.security.policy properties. The Container enforces its own security policy, as well as the component-specific policy for each process it runs. The Container also has some hardcoded limitations to protect the integrity of its own data and each process. These are described in the Container Release notes.

To configure (or reconfigure) your Openwings components with a security policy, you will need to do the following:

  • Edit your InstallableComponentDescriptorPolicy (ICD)
  • Create a security policy file
  • Rebuild and re-install your component
  • Debug

Next: Editing your ICD

back to top

Copyright 2002, General Dynamics Decision Systems. All rights reserved.

previous next trail start tutorial home feedback openwings.org