FileDocCategorySizeDatePackage
SecurityToken.javaAPI DocphoneME MR2 API (J2ME)3907Wed May 02 18:00:26 BST 2007com.sun.midp.security

SecurityToken

public final class SecurityToken extends Object
Contains methods to get various security state information of the currently running MIDlet suite.

Fields Summary
public static final String
STD_EX_MSG
The standard security exception message.
private static boolean
firstCaller
Enables the first domain be constructed without a domain.
private byte[]
permissions
Permission list.
Constructors Summary
SecurityToken(SecurityToken securityToken, byte[] ApiPermissions)
Creates a security domain with a list of permitted actions or no list to indicate all actions. The caller must be have permission for Permissions.MIDP or be the first caller of the method for this instance of the VM.

param
securityToken security token of the caller, can be null for the first caller
param
ApiPermissions for the token
exception
SecurityException if caller is not permitted to call this method


                                                                                                               
        
        if (firstCaller) {
            // The first call is during system initialization.
            firstCaller = false;
        } else {
            securityToken.checkIfPermissionAllowed(Permissions.MIDP);
        }

        permissions = ApiPermissions[Permissions.CUR_LEVELS];
    
Methods Summary
public voidcheckIfPermissionAllowed(int permission)
Check to see the suite has the ALLOW level for specific permission. This is used for by internal APIs that only provide access to trusted system applications.

param
permission permission ID from com.sun.midp.security.Permissions
exception
SecurityException if the permission is not allowed by this token

        checkIfPermissionAllowed(permission, STD_EX_MSG);
    
public voidcheckIfPermissionAllowed(int permission, java.lang.String exceptionMsg)
Check to see the suite has the ALLOW level for specific permission. This is used for by internal APIs that only provide access to trusted system applications.

param
permission permission ID from com.sun.midp.security.Permissions
param
exceptionMsg message if a security exception is thrown
exception
SecurityException if the permission is not allowed by this token

        if (permissions == null) {
            /* totally trusted, all permission allowed */
            return;
        }

        if (permission >= 0 && permission < permissions.length &&
            (permissions[permission] == Permissions.ALLOW)) {
            return;
        }

        // this method do not ask the user
        throw new SecurityException(exceptionMsg);