Module jdk.jdi
Package com.sun.jdi

Class JDIPermission

All Implemented Interfaces:
Serializable, Guard

public final class JDIPermission extends BasicPermission
The JDIPermission class represents access rights to the VirtualMachineManager. This is the permission which the SecurityManager will check when code that is running with a SecurityManager requests access to the VirtualMachineManager, as defined in the Java Debug Interface (JDI) for the Java platform.

A JDIPermission object contains a name (also referred to as a "target name") but no actions list; you either have the named permission or you don't.

The following table provides a summary description of what the permission allows, and discusses the risks of granting code the permission.

Table shows permission target name, what the permission allows, and associated risks
Permission Target Name What the Permission Allows Risks of Allowing this Permission
virtualMachineManager Ability to inspect and modify the JDI objects in the VirtualMachineManager This allows an attacker to control the VirtualMachineManager and cause the system to misbehave.

Programmers do not normally create JDIPermission objects directly. Instead they are created by the security policy code based on reading the security policy file.

Since:
1.5
See Also:
  • Constructor Details

    • JDIPermission

      public JDIPermission(String name)
      The JDIPermission class represents access rights to the VirtualMachineManager
      Parameters:
      name - Permission name. Must be "virtualMachineManager".
      Throws:
      IllegalArgumentException - if the name argument is invalid.
    • JDIPermission

      public JDIPermission(String name, String actions) throws IllegalArgumentException
      Constructs a new JDIPermission object.
      Parameters:
      name - Permission name. Must be "virtualMachineManager".
      actions - Must be either null or the empty string.
      Throws:
      IllegalArgumentException - if arguments are invalid.