Use PolicyTool to edit policy files for Java 2 security


Use the PolicyTool utility to update policy files.

Java 2 security uses several policy files to determine the granted permission for each Java program. The Java Development Kit provides the PolicyTool tool to edit these policy files. This tool is recommended for editing any policy file to verify the syntax of its contents. Syntax errors in the policy file cause an AccessControlException exception when the application runs, including the server start. Identifying the cause of this exception is not easy because the user might not be familiar with the resource that has an access violation. Be careful when you edit these policy files.

See Java 2 security policy files for the list of available policy files.

 

  1. Start the PolicyTool.

    (Windows) For example, we can enter the following command at a Windows command prompt:

    %{was.install.root}/java/jre/bin/policytool
    

    The PolicyTool window opens. The tool looks for the java.policy file in the home directory. If it does not exist, an error message displays.

    Click OK.

  2. Click File > Open.

  3. Navigate the directory tree in the Open window to pick up the policy file that we need to update. After selecting the policy file, click Open. The code base entries are listed in the window.

  4. Create or modify the code base entry.

    1. Modify the existing code base entry by double-clicking the code base, or click the code base and click Edit Policy Entry.

      The Policy Entry window opens with the permission list defined for the selected code base.

    2. Create a new code base entry by clicking Add Policy Entry.

      The Policy Entry window opens. At the code base column, enter the code base information as a URL format. For example, we can enter:

      APP_ROOT/InstalledApps/testcase.ear
      
      where the APP_ROOT variable represents the installation location.

  5. Modify or add the permission specification.

    1. Modify the permission spec by double-clicking the entry to modify, or by selecting the permission and clicking Edit Permission. The Permissions window opens with the selected permission information.

    2. Add a new permission by clicking Add Permission.

      The Permissions window opens. In the Permissions window are four rows for Permission, Target Name, Actions, and Signed By.

  6. Select the permission from the Permission list. The selected permission displays. After a permission is selected, the Target Name, Actions, and Signed By fields automatically show the valid choices or they enable text input in the right text input area.

    1. Select Target Name from the list, or enter the target name in the right text input area.

    2. Select Actions from the list.

    3. Input Signed By if it is needed.

      The Signed By keyword is not supported in the following policy files: app.policy, spi.policy, library.policy, was.policy, and filter.policy files. However, the Signed By keyword is supported in the following policy files: #java.policy, server.policy, and client.policy files. The Java Authentication and Authorization Service (JAAS) is not supported in the app.policy, spi.policy, library.policy, was.policy, and filter.policy files. However, the JAAS principal keyword is supported in a JAAS policy file when it is specified by the java.security.auth.policy JVM system property.

  7. Click OK to close the Permissions window. Modified permission entries of the specified code base display.

  8. Click Done to close the window. Modified code base entries are listed. Repeat the previous steps until you complete editing.

  9. Click File > Save after you finish editing the file.

 

Results

A policy file is updated. If any policy files need editing, use the PolicyTool utility. Do not edit the policy file manually. Syntax errors in the policy files can potentially cause application servers or enterprise apps to not start or function incorrectly. For the changes in the updated policy file to take effect, restart the Java processes.

 

Related tasks


Set Java 2 security policy files
Set static policy files in Java 2 security
Protecting system resources and APIs (Java 2 security)

 

Related


Java 2 security policy files