NetPermission class is used to allow network permissions. NetPermission class extends BasicPermission class. It is a “named” permission i.e it contains a name but no action.
Permission name | What permission allows | Risks associated with this permission |
---|---|---|
allowHttpTrace | This permission allows using the HTTP TRACE method in HttpURLConnection | Attackers may use HTTP TRACE to access security in the HTTP headers |
getCookieHandler | This permission allows getting the cookie handler that processes highly secure cookie information for this HTTP session | Attackers may get a cookie handler and get access to highly secure cookie information |
getNetworkInformation | This permission allows getting information about local network interfaces | Attackers may get information about local hardware |
getProxySelector | This permission allows the proxy selector to select which proxies to use when making network connections | Attackers may get a ProxySelector and get information about the proxy hosts and ports of internal networks |
getResponseCache | The permission allows accessing the local response cache | Attackers may get access the local cache which may contain security information |
requestPasswordAuthentication | This permission grants the ability to ask the authenticator for a password | Attackers may steal this password |
setCookieHandler | This permission allows setting the cookie handler that processes highly secure cookie information for this HTTP session | Attackers may get a cookie handler and get access to highly secure cookie information |
setDefaultAuthenticator | This allows to set an authenticator | Attackers may set an authenticator and get security information |
setProxySelector | This permission allows the proxy selector to set which proxies to use when making network connections | Attackers may set a ProxySelector and get information about the proxy hosts and ports of internal networks |
setResponseCache | The permission allows setting the local response cache | Attackers may get access the local cache which may contain security information |
specifyStreamHandler | The permission allows specifying a StreamHandler to create URLs | Attackers may create a URL and get access to resources to which they normally not have access |
Syntax: Class declaration
public final class NetPermission extends BasicPermission
Constructors of this class
Constructor | Description |
---|---|
NetPermission(String name) | Used for creating a new NetPermission object with the given name |
NetPermission(String name, String action) | Used for creating a new NetPermission object with the given name and action |
Methods inherited from class java.security.BasicPermission
Method | Description |
---|---|
equals(Object obj) | Checks whether the two BasicPermission objects are equal or not |
getActions() | Returns the actions in String format |
hashCode() | Returns the hash value for this object |
implies(Permission permission) | Checks whether the given permission is implied by this object or not |
newPermissionCollection() | Returns a new PermissionCollection object |
Methods inherited from class java.security.Permission
Method | Description |
---|---|
checkGuard() | Used to implement guard interface |
getName() | Returns name of this permission object |
toString() | Returns string representation of this permission object |
Methods inherited from class java.lang.Object |
---|
clone(), finalize(), getClass(), notify(), notifyAll(), wait(), wait(), wait() |
Example 1:
Java
// Java program to Create a New allow HttpTrace Permission // Importing required network permission classes import java.net.NetPermission; import java.security.Permission; // Main class public class GFG { // Main driver method public static void main(String[] args) { // Try block to check for exceptions try { // Creating a new allowHttpTrace permission Permission permission = new NetPermission( "allowHttpTrace" ); // Printing the name of the permission using // getName() method System.out.println(permission.getName()); // Printing the class of the permission using // getClass method System.out.println(permission.getClass()); // Printing the hash value of this permission // object using hashCode() method System.out.println(permission.hashCode()); } // Catch block to handle the exceptions catch (Exception e) { // Print the line number where the exception occurred e.printStackTrace(); } } } |
Output:
allowHttpTrace class java.net.NetPermission 303901780
Example 2:
Java
// Java Program to Create a New getCookieHandler Permission // Importing required network permission classes import java.net.NetPermission; import java.security.Permission; // Main Class public class GFG { // Main driver method public static void main(String[] args) { // Try block to check for exceptions try { // Creating a new getCookieHandler permission Permission permission = new NetPermission( "getCookieHandler" ); // Printing the name of the permission using // getName() method System.out.println(permission.getName()); // Printing the class of the permission using // getClass method System.out.println(permission.getClass()); // Printing the hash value of this permission // object using hashCode() method System.out.println(permission.hashCode()); } // Catch block to handle the exceptions catch (Exception e) { // Print the line number where exception occurred // using printStackTrace() method e.printStackTrace(); } } } |
Output:
getCookieHandler class java.net.NetPermission 1381623952
Example 3:
Java
// Java Program to Illustrate the Working of equals() Method // Importing permission classes for networking import java.net.NetPermission; import java.security.Permission; // Main class public class GFG { // Main driver method public static void main(String[] args) { // Try block to check for exceptions try { // Creating a new getNetworkInformation // permission Permission Permission1 = new NetPermission( "getNetworkInformation" ); // Creating a new getProxySelector permission Permission Permission2 = new NetPermission( "getProxySelector" ); // Checking if both the given permissions are // equal or not using equals() method if (Permission1.equals(Permission2)) { // Print statement System.out.println( "Both permission are equal" ); } // Statements differ else { // Print statement System.out.println( "Both permission are not equal" ); } } // Catch block to handle the exceptions catch (Exception e) { // Print the line number where the exception occurred e.printStackTrace(); } } } |
Output:
Both permission are not equal