Java 类java.security.SecurityPermission 实例源码

项目:elasticsearch_my    文件:TikaImpl.java   
static PermissionCollection getRestrictedPermissions() {
    Permissions perms = new Permissions();
    // property/env access needed for parsing
    perms.add(new PropertyPermission("*", "read"));
    perms.add(new RuntimePermission("getenv.TIKA_CONFIG"));

    // add permissions for resource access:
    // classpath
    addReadPermissions(perms, JarHell.parseClassPath());
    // plugin jars
    if (TikaImpl.class.getClassLoader() instanceof URLClassLoader) {
        addReadPermissions(perms, ((URLClassLoader)TikaImpl.class.getClassLoader()).getURLs());
    }
    // jvm's java.io.tmpdir (needs read/write)
    perms.add(new FilePermission(System.getProperty("java.io.tmpdir") + System.getProperty("file.separator") + "-",
                                 "read,readlink,write,delete"));
    // current hacks needed for POI/PDFbox issues:
    perms.add(new SecurityPermission("putProviderProperty.BC"));
    perms.add(new SecurityPermission("insertProvider"));
    perms.add(new ReflectPermission("suppressAccessChecks"));
    // xmlbeans, use by POI, needs to get the context classloader
    perms.add(new RuntimePermission("getClassLoader"));
    perms.setReadOnly();
    return perms;
}
项目:guava-mock    文件:JSR166TestCase.java   
/**
 * Returns a policy containing all the permissions we ever need.
 */
public static Policy permissivePolicy() {
    return new AdjustablePolicy
        // Permissions j.u.c. needs directly
        (new RuntimePermission("modifyThread"),
         new RuntimePermission("getClassLoader"),
         new RuntimePermission("setContextClassLoader"),
         // Permissions needed to change permissions!
         new SecurityPermission("getPolicy"),
         new SecurityPermission("setPolicy"),
         new RuntimePermission("setSecurityManager"),
         // Permissions needed by the junit test harness
         new RuntimePermission("accessDeclaredMembers"),
         new PropertyPermission("*", "read"),
         new java.io.FilePermission("<<ALL FILES>>", "read"));
}
项目:openjdk-jdk10    文件:PermissionTest.java   
public void setBasicPermissions() {
    permissions.add(new SecurityPermission("getPolicy"));
    permissions.add(new SecurityPermission("setPolicy"));
    permissions.add(new RuntimePermission("getClassLoader"));
    permissions.add(new RuntimePermission("setSecurityManager"));
    permissions.add(new RuntimePermission("createSecurityManager"));
    permissions.add(new PropertyPermission("testng.show.stack.frames",
            "read"));
    permissions.add(new PropertyPermission("user.dir", "read"));
    permissions.add(new PropertyPermission("test.src", "read"));
    permissions.add(new PropertyPermission("file.separator", "read"));
    permissions.add(new PropertyPermission("line.separator", "read"));
    permissions.add(new PropertyPermission("fileStringBuffer", "read"));
    permissions.add(new PropertyPermission("dataproviderthreadcount", "read"));
    permissions.add(new FilePermission("<<ALL FILES>>", "execute"));
}
项目:openjdk-jdk10    文件:JSR166TestCase.java   
/**
 * Returns a policy containing all the permissions we ever need.
 */
public static Policy permissivePolicy() {
    return new AdjustablePolicy
        // Permissions j.u.c. needs directly
        (new RuntimePermission("modifyThread"),
         new RuntimePermission("getClassLoader"),
         new RuntimePermission("setContextClassLoader"),
         // Permissions needed to change permissions!
         new SecurityPermission("getPolicy"),
         new SecurityPermission("setPolicy"),
         new RuntimePermission("setSecurityManager"),
         // Permissions needed by the junit test harness
         new RuntimePermission("accessDeclaredMembers"),
         new PropertyPermission("*", "read"),
         new java.io.FilePermission("<<ALL FILES>>", "read"));
}
项目:googles-monorepo-demo    文件:JSR166TestCase.java   
/**
 * Returns a policy containing all the permissions we ever need.
 */
public static Policy permissivePolicy() {
    return new AdjustablePolicy
        // Permissions j.u.c. needs directly
        (new RuntimePermission("modifyThread"),
         new RuntimePermission("getClassLoader"),
         new RuntimePermission("setContextClassLoader"),
         // Permissions needed to change permissions!
         new SecurityPermission("getPolicy"),
         new SecurityPermission("setPolicy"),
         new RuntimePermission("setSecurityManager"),
         // Permissions needed by the junit test harness
         new RuntimePermission("accessDeclaredMembers"),
         new PropertyPermission("*", "read"),
         new java.io.FilePermission("<<ALL FILES>>", "read"));
}
项目:openjdk9    文件:PermissionTest.java   
public void setBasicPermissions() {
    permissions.add(new SecurityPermission("getPolicy"));
    permissions.add(new SecurityPermission("setPolicy"));
    permissions.add(new RuntimePermission("getClassLoader"));
    permissions.add(new RuntimePermission("setSecurityManager"));
    permissions.add(new RuntimePermission("createSecurityManager"));
    permissions.add(new PropertyPermission("testng.show.stack.frames",
            "read"));
    permissions.add(new PropertyPermission("user.dir", "read"));
    permissions.add(new PropertyPermission("test.src", "read"));
    permissions.add(new PropertyPermission("file.separator", "read"));
    permissions.add(new PropertyPermission("line.separator", "read"));
    permissions.add(new PropertyPermission("fileStringBuffer", "read"));
    permissions.add(new PropertyPermission("dataproviderthreadcount", "read"));
    permissions.add(new FilePermission("<<ALL FILES>>", "execute"));
}
项目:openjdk9    文件:JSR166TestCase.java   
/**
 * Returns a policy containing all the permissions we ever need.
 */
public static Policy permissivePolicy() {
    return new AdjustablePolicy
        // Permissions j.u.c. needs directly
        (new RuntimePermission("modifyThread"),
         new RuntimePermission("getClassLoader"),
         new RuntimePermission("setContextClassLoader"),
         // Permissions needed to change permissions!
         new SecurityPermission("getPolicy"),
         new SecurityPermission("setPolicy"),
         new RuntimePermission("setSecurityManager"),
         // Permissions needed by the junit test harness
         new RuntimePermission("accessDeclaredMembers"),
         new PropertyPermission("*", "read"),
         new java.io.FilePermission("<<ALL FILES>>", "read"));
}
项目:VoltDB    文件:JSR166TestCase.java   
/**
 * Returns a policy containing all the permissions we ever need.
 */
public static Policy permissivePolicy() {
    return new AdjustablePolicy
        // Permissions j.u.c. needs directly
        (new RuntimePermission("modifyThread"),
         new RuntimePermission("getClassLoader"),
         new RuntimePermission("setContextClassLoader"),
         // Permissions needed to change permissions!
         new SecurityPermission("getPolicy"),
         new SecurityPermission("setPolicy"),
         new RuntimePermission("setSecurityManager"),
         // Permissions needed by the junit test harness
         new RuntimePermission("accessDeclaredMembers"),
         new PropertyPermission("*", "read"),
         new java.io.FilePermission("<<ALL FILES>>", "read"));
}
项目:guava-libraries    文件:JSR166TestCase.java   
/**
 * Returns a policy containing all the permissions we ever need.
 */
public static Policy permissivePolicy() {
    return new AdjustablePolicy
        // Permissions j.u.c. needs directly
        (new RuntimePermission("modifyThread"),
         new RuntimePermission("getClassLoader"),
         new RuntimePermission("setContextClassLoader"),
         // Permissions needed to change permissions!
         new SecurityPermission("getPolicy"),
         new SecurityPermission("setPolicy"),
         new RuntimePermission("setSecurityManager"),
         // Permissions needed by the junit test harness
         new RuntimePermission("accessDeclaredMembers"),
         new PropertyPermission("*", "read"),
         new java.io.FilePermission("<<ALL FILES>>", "read"));
}
项目:streamsupport    文件:JSR166TestCase.java   
/**
     * Returns a policy containing all the permissions we ever need.
     */
    public static Policy permissivePolicy() {
        return new AdjustablePolicy
            // Permissions j.u.c. needs directly
            (new RuntimePermission("modifyThread"),
             new RuntimePermission("getClassLoader"),
             new RuntimePermission("setContextClassLoader"),
//             new RuntimePermission("modifyThreadGroup"),
//             new RuntimePermission("enableContextClassLoaderOverride"),
             // Permissions needed to change permissions!
             new SecurityPermission("getPolicy"),
             new SecurityPermission("setPolicy"),
             new RuntimePermission("setSecurityManager"),
             // Permissions needed by the junit test harness
             new RuntimePermission("accessDeclaredMembers"),
             new PropertyPermission("*", "read"),
             new java.io.FilePermission("<<ALL FILES>>", "read"));
    }
项目:evosuite    文件:MSecurityManager.java   
protected boolean checkSecurityPermission(SecurityPermission perm) {

        String name = perm.getName();

        if (name.equals("getDomainCombiner") || name.equals("getPolicy")
                || name.equals("printIdentity") || name.equals("getSignerPrivateKey")
                || name.startsWith("getProperty.")) {
            return true;
        }

        /*
         * this seems needed when analyzing classpath, but not fully sure of its consequences
         */
        if (name.startsWith("putProviderProperty.")) {
            return true;
        }

        /*
         * createAccessControlContext setPolicy createPolicy.{policy type} setProperty.{key} insertProvider.{provider name} removeProvider.{provider
         * name} setSystemScope setIdentityPublicKey setIdentityInfo addIdentityCertificate removeIdentityCertificate
         * clearProviderProperties.{provider name} putProviderProperty.{provider name} removeProviderProperty.{provider name} setSignerKeyPair
         */
        return false;
    }
项目:In-the-Box-Fork    文件:Permission2Test.java   
/**
 * @tests java.security.Permission#checkGuard(java.lang.Object)
 */
@TestTargetNew(
    level = TestLevel.PARTIAL_COMPLETE,
    notes = "",
    method = "checkGuard",
    args = {java.lang.Object.class}
)
public void test_checkGuardLjava_lang_Object() {
    // test method java.security.permission.checkGuard(object)
    SecurityPermission permi = new SecurityPermission(
            "Testing the permission abstract class");
    String name = permi.getName();
    try {
        permi.checkGuard(name);
    } catch (SecurityException e) {
        fail("security not granted when it is suppose to be : " + e);
    }
}
项目:In-the-Box-Fork    文件:Permission2Test.java   
/**
 * @tests java.security.Permission#getName()
 */
@TestTargetNew(
    level = TestLevel.COMPLETE,
    notes = "",
    method = "getName",
    args = {}
)
public void test_getName() {
    // test method java.security.permission.getName()
    SecurityPermission permi = new SecurityPermission("testing getName()");
    String name = permi.getName();
    assertEquals("getName failed to obtain the correct name",
            "testing getName()", name);

    SecurityPermission permi2 = new SecurityPermission("93048Helloworld");
    assertEquals("getName failed to obtain correct name",
            "93048Helloworld", permi2.getName());
}
项目:In-the-Box-Fork    文件:PolicyTest.java   
/**
 * Asserts codeBase property expansion in policy file
 *
 * @param codeSourceURL -
 *            code source for policy object
 * @param codeBaseURL -
 *            system propery value for expansion in policy file
 */
private void assertCodeBasePropertyExpansion(String codeSourceURL,
        String codeBaseURL) throws Exception {

    Policy.setPolicy(null); // reset policy
    System.setProperty("test.bin.dir", codeBaseURL);

    Policy p = Policy.getPolicy();
    CodeSource codeSource = new CodeSource(
            new URL("file:" + codeSourceURL),
            (java.security.cert.Certificate[]) null);

    PermissionCollection pCollection = p.getPermissions(codeSource);
    Enumeration<Permission> elements = pCollection.elements();

    SecurityPermission perm = new SecurityPermission(
            "codeBaseForPolicyTest");

    while (elements.hasMoreElements()) {
        if (elements.nextElement().equals(perm)) {
            return; // passed
        }
    }
    fail("Failed to find SecurityPermission for codeSource="
            + codeSourceURL + ", codeBase=" + codeBaseURL);
}
项目:In-the-Box-Fork    文件:AllPermission2Test.java   
/**
 * @tests java.security.AllPermission#implies(java.security.Permission)
 */
@TestTargetNew(
    level = TestLevel.COMPLETE,
    notes = "",
    method = "implies",
    args = {java.security.Permission.class}
)
public void test_impliesLjava_security_Permission() {
    // Test for method boolean
    // java.security.AllPermission.implies(java.security.Permission)
    assertTrue("AllPermission does not imply a AllPermission.",
            new AllPermission().implies(new AllPermission()));
    assertTrue("AllPermission does not imply a SecurityPermission.",
            new AllPermission().implies(new SecurityPermission("ugh!")));
    assertTrue("SecurityPermission implies AllPermission.",
            !(new SecurityPermission("ugh!").implies(new AllPermission())));
    assertTrue("AllPermission does not imply when parametr NULL", new AllPermission().implies(null));
}
项目:In-the-Box-Fork    文件:ClassLoaderTest.java   
/**
 * Tests that Classloader.defineClass() assigns appropriate
 * default domains to the defined classes.
 */
public void test_defineClass_defaultDomain() throws Exception {
    // Regression for HARMONY-765
    DynamicPolicy plc = new DynamicPolicy();
    Policy back = Policy.getPolicy();
    try {
        Policy.setPolicy(plc);

        Class<?> a = new Ldr().define();

        Permission p = new SecurityPermission("abc");
        assertFalse("impossible! misconfiguration?", a.getProtectionDomain().implies(p));

        plc.pc = p.newPermissionCollection();
        plc.pc.add(p);
        assertTrue("default domain is not dynamic", a.getProtectionDomain().implies(p));
    } finally {
        Policy.setPolicy(back);
    }
}
项目:In-the-Box-Fork    文件:MockSecurityManager.java   
@Override
    public void checkPermission(Permission perm) {
        if (perm.equals(new RuntimePermission("createSecurityManager")) ||
//          perm.equals(new AWTPermission("accessEventQueue")) ||
            perm.equals(new RuntimePermission("createClassLoader")) ||
            perm.equals(new FilePermission(deletedFile,"delete")) ||
            perm.equals(new FilePermission(readedFile,"read")) ||
            perm.equals(new PropertyPermission("*", "read,write")) ||
            perm.equals(new PropertyPermission("key", "read")) ||
            perm.equals(new SecurityPermission("getPolicy")) ||
//          perm.equals(new AWTPermission("accessClipboard")) ||
            perm.equals(new FilePermission(writedFile,"write"))) {
            throw
            new SecurityException("Unable to create Security Manager");
        }
    }
项目:In-the-Box-Fork    文件:PermissionCollectionTest.java   
/**
 * @tests java.security.PermissionCollection#isReadOnly()
 */
@TestTargetNew(
    level = TestLevel.COMPLETE,
    notes = "",
    method = "isReadOnly",
    args = {}
)
public void test_isReadOnly() {
    // test java.security.permissionCollection.isReadOnly()
    SecurityPermission permi = new SecurityPermission(
            "testing permissionCollection-isREadOnly");
    PermissionCollection permCollect = permi.newPermissionCollection();
    assertTrue("readOnly has not been set, but isReadOnly returned true",
            !permCollect.isReadOnly());
    permCollect.setReadOnly();
    assertTrue("readOnly is set, but isReadonly returned false",
            permCollect.isReadOnly());
}
项目:In-the-Box-Fork    文件:PermissionCollectionTest.java   
/**
 * @tests java.security.PermissionCollection#setReadOnly()
 */
@TestTargetNew(
    level = TestLevel.COMPLETE,
    notes = "",
    method = "setReadOnly",
    args = {}
)
public void test_setReadOnly() {
    // test java.security.permissionCollection.setReadOnly()
    SecurityPermission permi = new SecurityPermission(
            "testing permissionCollection-setReadOnly");
    PermissionCollection permCollect = permi.newPermissionCollection();
    assertTrue("readOnly has not been set, but isReadOnly returned true",
            !permCollect.isReadOnly());
    permCollect.setReadOnly();
    assertTrue("readOnly is set, but isReadonly returned false",
            permCollect.isReadOnly());
}
项目:guava    文件:JSR166TestCase.java   
/** Returns a policy containing all the permissions we ever need. */
public static Policy permissivePolicy() {
  return new AdjustablePolicy
  // Permissions j.u.c. needs directly
  (
      new RuntimePermission("modifyThread"),
      new RuntimePermission("getClassLoader"),
      new RuntimePermission("setContextClassLoader"),
      // Permissions needed to change permissions!
      new SecurityPermission("getPolicy"),
      new SecurityPermission("setPolicy"),
      new RuntimePermission("setSecurityManager"),
      // Permissions needed by the junit test harness
      new RuntimePermission("accessDeclaredMembers"),
      new PropertyPermission("*", "read"),
      new java.io.FilePermission("<<ALL FILES>>", "read"));
}
项目:guava    文件:JSR166TestCase.java   
/** Returns a policy containing all the permissions we ever need. */
public static Policy permissivePolicy() {
  return new AdjustablePolicy
  // Permissions j.u.c. needs directly
  (
      new RuntimePermission("modifyThread"),
      new RuntimePermission("getClassLoader"),
      new RuntimePermission("setContextClassLoader"),
      // Permissions needed to change permissions!
      new SecurityPermission("getPolicy"),
      new SecurityPermission("setPolicy"),
      new RuntimePermission("setSecurityManager"),
      // Permissions needed by the junit test harness
      new RuntimePermission("accessDeclaredMembers"),
      new PropertyPermission("*", "read"),
      new java.io.FilePermission("<<ALL FILES>>", "read"));
}
项目:cn1    文件:PolicyTest.java   
/**
 * @tests java.security.Policy#setPolicy(java.security.Policy)
 */
public void test_setPolicyLjava_security_Policy() {
    SecurityManager old = System.getSecurityManager();
    Policy oldPolicy = Policy.getPolicy();
    try {
        SecurityChecker checker = new SecurityChecker(
            new SecurityPermission("setPolicy"), true);
        System.setSecurityManager(checker);
        Policy custom = new TestProvider();
        Policy.setPolicy(custom);
        assertTrue(checker.checkAsserted);
        assertSame(custom, Policy.getPolicy());

        checker.reset();
        checker.enableAccess = false;
        try {
            Policy.setPolicy(new TestProvider());
            fail("SecurityException is intercepted");
        } catch (SecurityException ok) {
        }
    } finally {
        System.setSecurityManager(old);
        Policy.setPolicy(oldPolicy);
    }
}
项目:cn1    文件:PolicyTest.java   
/**
 * @tests java.security.Policy#getPolicy()
 */
public void test_getPolicy() {
    SecurityManager old = System.getSecurityManager();
    Policy oldPolicy = Policy.getPolicy();
    try {
        Policy.setPolicy(new TestProvider());
        SecurityChecker checker = new SecurityChecker(
            new SecurityPermission("getPolicy"), true);
        System.setSecurityManager(checker);
        Policy.getPolicy();
        assertTrue(checker.checkAsserted);

        checker.reset();
        checker.enableAccess = false;
        try {
            Policy.getPolicy();
            fail("SecurityException is intercepted");
        } catch (SecurityException ok) {
        }
    } finally {
        System.setSecurityManager(old);
        Policy.setPolicy(oldPolicy);
    }
}
项目:cn1    文件:PolicyTest.java   
/**
 * Asserts codeBase property expansion in policy file
 * 
 * @param codeSourceURL -
 *            code source for policy object
 * @param codeBaseURL -
 *            system propery value for expansion in policy file
 */
private void assertCodeBasePropertyExpansion(String codeSourceURL,
        String codeBaseURL) throws Exception {

    Policy.setPolicy(null); //reset policy
    System.setProperty("test.bin.dir", codeBaseURL);

    Policy p = Policy.getPolicy();
    CodeSource codeSource = new CodeSource(
            new URL("file:" + codeSourceURL),
            (java.security.cert.Certificate[]) null);

    PermissionCollection pCollection = p.getPermissions(codeSource);
    Enumeration<Permission> elements = pCollection.elements();

    SecurityPermission perm = new SecurityPermission(
            "codeBaseForPolicyTest");

    while (elements.hasMoreElements()) {
        if (elements.nextElement().equals(perm)) {
            return; // passed
        }
    }
    fail("Failed to find SecurityPermission for codeSource="
            + codeSourceURL + ", codeBase=" + codeBaseURL);
}
项目:cn1    文件:DefaultPolicyTest.java   
/**
 * Tests that policy is really resetted on refresh(). 
 */
public void testRefresh() {
    Permission sp = new SecurityPermission("sdf");
    PolicyEntry[] pe = new PolicyEntry[] { new PolicyEntry(null, null,
        Arrays.asList(new Permission[] { sp })) };
    TestParser tp = new TestParser(pe);
    DefaultPolicy policy = new DefaultPolicy(tp);
    CodeSource cs = new CodeSource(null, (Certificate[])null);
    assertTrue(policy.getPermissions(cs).implies(sp));

    tp.content = new PolicyEntry[0];
    policy.refresh();
    assertFalse(policy.getPermissions(cs).implies(sp));

    tp.content = null;
    policy.refresh();
    assertFalse(policy.getPermissions(cs).implies(sp));
}
项目:cn1    文件:PolicyUtilsTest.java   
/** Tests conversion of null, empty and non-empty heterogeneous collections. */
public void testToPermissionCollection() {
    Permission p1 = new SecurityPermission("abc");
    Permission p2 = new AllPermission();
    Collection c1 = Arrays.asList(new Permission[] { p1, p2, });

    PermissionCollection pc = PolicyUtils.toPermissionCollection(null);
    assertNotNull(pc);
    assertFalse(pc.elements().hasMoreElements());

    pc = PolicyUtils.toPermissionCollection(new HashSet());
    assertNotNull(pc);
    assertFalse(pc.elements().hasMoreElements());

    pc = PolicyUtils.toPermissionCollection(c1);
    assertNotNull(pc);
    Enumeration en = pc.elements();
    Collection c2 = new HashSet();
    c2.add(en.nextElement());
    c2.add(en.nextElement());
    assertFalse(en.hasMoreElements());
    assertTrue(c2.contains(p1));
    assertTrue(c2.contains(p2));
}
项目:cn1    文件:Policy_ImplTest.java   
/** 
 * Tests that implies() does proper permission evaluation.
 */
public void testImplies() {
    TestProvider policy = new TestProvider();
    SecurityPermission sp = new SecurityPermission("abc");
    policy.pc = sp.newPermissionCollection();

    policy.pc.add(sp);
    assertTrue(policy.implies(new ProtectionDomain(null, null), sp));
    assertFalse(policy.implies(null, sp));
    assertFalse(policy.implies(new ProtectionDomain(null, null), null));

    //RI throws NullPointerException.
    try {
        policy.implies(null, null);
        fail("should throw NullPointerException");
    } catch (NullPointerException e) {
        // expected.
    }


    ProtectionDomain pd = new ProtectionDomain(null, policy.pc);
    policy.pc = null;
    assertTrue(policy.implies(pd, sp));        
    assertFalse(policy.implies(pd, new AllPermission()));
}
项目:cn1    文件:ClassLoaderTest.java   
/**
 * Tests that Classloader.defineClass() assigns appropriate 
 * default domains to the defined classes.
 */
public void test_defineClass_defaultDomain() throws Exception {
    // Regression for HARMONY-765 
    DynamicPolicy plc = new DynamicPolicy();
    Policy back = Policy.getPolicy();
    try {
        Policy.setPolicy(plc);

        Class<?> a = new Ldr().define();

        Permission p = new SecurityPermission("abc");
        assertFalse("impossible! misconfiguration?", a.getProtectionDomain().implies(p));

        plc.pc = p.newPermissionCollection();
        plc.pc.add(p);
        assertTrue("default domain is not dynamic", a.getProtectionDomain().implies(p));
    } finally {
        Policy.setPolicy(back);
    }
}
项目:freeVM    文件:PolicyTest.java   
/**
 * @tests java.security.Policy#setPolicy(java.security.Policy)
 */
public void test_setPolicyLjava_security_Policy() {
    SecurityManager old = System.getSecurityManager();
    Policy oldPolicy = Policy.getPolicy();
    try {
        SecurityChecker checker = new SecurityChecker(
            new SecurityPermission("setPolicy"), true);
        System.setSecurityManager(checker);
        Policy custom = new TestProvider();
        Policy.setPolicy(custom);
        assertTrue(checker.checkAsserted);
        assertSame(custom, Policy.getPolicy());

        checker.reset();
        checker.enableAccess = false;
        try {
            Policy.setPolicy(new TestProvider());
            fail("SecurityException is intercepted");
        } catch (SecurityException ok) {
        }
    } finally {
        System.setSecurityManager(old);
        Policy.setPolicy(oldPolicy);
    }
}
项目:freeVM    文件:PolicyTest.java   
/**
 * @tests java.security.Policy#getPolicy()
 */
public void test_getPolicy() {
    SecurityManager old = System.getSecurityManager();
    Policy oldPolicy = Policy.getPolicy();
    try {
        Policy.setPolicy(new TestProvider());
        SecurityChecker checker = new SecurityChecker(
            new SecurityPermission("getPolicy"), true);
        System.setSecurityManager(checker);
        Policy.getPolicy();
        assertTrue(checker.checkAsserted);

        checker.reset();
        checker.enableAccess = false;
        try {
            Policy.getPolicy();
            fail("SecurityException is intercepted");
        } catch (SecurityException ok) {
        }
    } finally {
        System.setSecurityManager(old);
        Policy.setPolicy(oldPolicy);
    }
}
项目:freeVM    文件:PolicyTest.java   
/**
 * Asserts codeBase property expansion in policy file
 * 
 * @param codeSourceURL -
 *            code source for policy object
 * @param codeBaseURL -
 *            system propery value for expansion in policy file
 */
private void assertCodeBasePropertyExpansion(String codeSourceURL,
        String codeBaseURL) throws Exception {

    Policy.setPolicy(null); //reset policy
    System.setProperty("test.bin.dir", codeBaseURL);

    Policy p = Policy.getPolicy();
    CodeSource codeSource = new CodeSource(
            new URL("file:" + codeSourceURL),
            (java.security.cert.Certificate[]) null);

    PermissionCollection pCollection = p.getPermissions(codeSource);
    Enumeration<Permission> elements = pCollection.elements();

    SecurityPermission perm = new SecurityPermission(
            "codeBaseForPolicyTest");

    while (elements.hasMoreElements()) {
        if (elements.nextElement().equals(perm)) {
            return; // passed
        }
    }
    fail("Failed to find SecurityPermission for codeSource="
            + codeSourceURL + ", codeBase=" + codeBaseURL);
}
项目:freeVM    文件:DefaultPolicyTest.java   
/**
 * Tests that policy is really resetted on refresh(). 
 */
public void testRefresh() {
    Permission sp = new SecurityPermission("sdf");
    PolicyEntry[] pe = new PolicyEntry[] { new PolicyEntry(null, null,
        Arrays.asList(new Permission[] { sp })) };
    TestParser tp = new TestParser(pe);
    DefaultPolicy policy = new DefaultPolicy(tp);
    CodeSource cs = new CodeSource(null, (Certificate[])null);
    assertTrue(policy.getPermissions(cs).implies(sp));

    tp.content = new PolicyEntry[0];
    policy.refresh();
    assertFalse(policy.getPermissions(cs).implies(sp));

    tp.content = null;
    policy.refresh();
    assertFalse(policy.getPermissions(cs).implies(sp));
}
项目:freeVM    文件:PolicyUtilsTest.java   
/** Tests conversion of null, empty and non-empty heterogeneous collections. */
public void testToPermissionCollection() {
    Permission p1 = new SecurityPermission("abc");
    Permission p2 = new AllPermission();
    Collection c1 = Arrays.asList(new Permission[] { p1, p2, });

    PermissionCollection pc = PolicyUtils.toPermissionCollection(null);
    assertNotNull(pc);
    assertFalse(pc.elements().hasMoreElements());

    pc = PolicyUtils.toPermissionCollection(new HashSet());
    assertNotNull(pc);
    assertFalse(pc.elements().hasMoreElements());

    pc = PolicyUtils.toPermissionCollection(c1);
    assertNotNull(pc);
    Enumeration en = pc.elements();
    Collection c2 = new HashSet();
    c2.add(en.nextElement());
    c2.add(en.nextElement());
    assertFalse(en.hasMoreElements());
    assertTrue(c2.contains(p1));
    assertTrue(c2.contains(p2));
}
项目:freeVM    文件:Policy_ImplTest.java   
/** 
 * Tests that implies() does proper permission evaluation.
 */
public void testImplies() {
    TestProvider policy = new TestProvider();
    SecurityPermission sp = new SecurityPermission("abc");
    policy.pc = sp.newPermissionCollection();

    policy.pc.add(sp);
    assertTrue(policy.implies(new ProtectionDomain(null, null), sp));
    assertFalse(policy.implies(null, sp));
    assertFalse(policy.implies(new ProtectionDomain(null, null), null));
    assertFalse(policy.implies(null, null));

    ProtectionDomain pd = new ProtectionDomain(null, policy.pc);
    policy.pc = null;
    assertTrue(policy.implies(pd, sp));        
    assertFalse(policy.implies(pd, new AllPermission()));
}
项目:freeVM    文件:ClassLoaderTest.java   
/**
 * Tests that Classloader.defineClass() assigns appropriate 
 * default domains to the defined classes.
 */
public void test_defineClass_defaultDomain() throws Exception {
    // Regression for HARMONY-765 
    DynamicPolicy plc = new DynamicPolicy();
    Policy back = Policy.getPolicy();
    try {
        Policy.setPolicy(plc);

        Class<?> a = new Ldr().define();

        Permission p = new SecurityPermission("abc");
        assertFalse("impossible! misconfiguration?", a.getProtectionDomain().implies(p));

        plc.pc = p.newPermissionCollection();
        plc.pc.add(p);
        assertTrue("default domain is not dynamic", a.getProtectionDomain().implies(p));
    } finally {
        Policy.setPolicy(back);
    }
}
项目:freeVM    文件:PolicyTest.java   
/**
 * @tests java.security.Policy#setPolicy(java.security.Policy)
 */
public void test_setPolicyLjava_security_Policy() {
    SecurityManager old = System.getSecurityManager();
    Policy oldPolicy = Policy.getPolicy();
    try {
        SecurityChecker checker = new SecurityChecker(
            new SecurityPermission("setPolicy"), true);
        System.setSecurityManager(checker);
        Policy custom = new TestProvider();
        Policy.setPolicy(custom);
        assertTrue(checker.checkAsserted);
        assertSame(custom, Policy.getPolicy());

        checker.reset();
        checker.enableAccess = false;
        try {
            Policy.setPolicy(new TestProvider());
            fail("SecurityException is intercepted");
        } catch (SecurityException ok) {
        }
    } finally {
        System.setSecurityManager(old);
        Policy.setPolicy(oldPolicy);
    }
}
项目:freeVM    文件:PolicyTest.java   
/**
 * @tests java.security.Policy#getPolicy()
 */
public void test_getPolicy() {
    SecurityManager old = System.getSecurityManager();
    Policy oldPolicy = Policy.getPolicy();
    try {
        Policy.setPolicy(new TestProvider());
        SecurityChecker checker = new SecurityChecker(
            new SecurityPermission("getPolicy"), true);
        System.setSecurityManager(checker);
        Policy.getPolicy();
        assertTrue(checker.checkAsserted);

        checker.reset();
        checker.enableAccess = false;
        try {
            Policy.getPolicy();
            fail("SecurityException is intercepted");
        } catch (SecurityException ok) {
        }
    } finally {
        System.setSecurityManager(old);
        Policy.setPolicy(oldPolicy);
    }
}
项目:freeVM    文件:PolicyTest.java   
/**
 * Asserts codeBase property expansion in policy file
 * 
 * @param codeSourceURL -
 *            code source for policy object
 * @param codeBaseURL -
 *            system propery value for expansion in policy file
 */
private void assertCodeBasePropertyExpansion(String codeSourceURL,
        String codeBaseURL) throws Exception {

    Policy.setPolicy(null); //reset policy
    System.setProperty("test.bin.dir", codeBaseURL);

    Policy p = Policy.getPolicy();
    CodeSource codeSource = new CodeSource(
            new URL("file:" + codeSourceURL),
            (java.security.cert.Certificate[]) null);

    PermissionCollection pCollection = p.getPermissions(codeSource);
    Enumeration<Permission> elements = pCollection.elements();

    SecurityPermission perm = new SecurityPermission(
            "codeBaseForPolicyTest");

    while (elements.hasMoreElements()) {
        if (elements.nextElement().equals(perm)) {
            return; // passed
        }
    }
    fail("Failed to find SecurityPermission for codeSource="
            + codeSourceURL + ", codeBase=" + codeBaseURL);
}
项目:freeVM    文件:DefaultPolicyTest.java   
/**
 * Tests that policy is really resetted on refresh(). 
 */
public void testRefresh() {
    Permission sp = new SecurityPermission("sdf");
    PolicyEntry[] pe = new PolicyEntry[] { new PolicyEntry(null, null,
        Arrays.asList(new Permission[] { sp })) };
    TestParser tp = new TestParser(pe);
    DefaultPolicy policy = new DefaultPolicy(tp);
    CodeSource cs = new CodeSource(null, (Certificate[])null);
    assertTrue(policy.getPermissions(cs).implies(sp));

    tp.content = new PolicyEntry[0];
    policy.refresh();
    assertFalse(policy.getPermissions(cs).implies(sp));

    tp.content = null;
    policy.refresh();
    assertFalse(policy.getPermissions(cs).implies(sp));
}
项目:freeVM    文件:PolicyUtilsTest.java   
/** Tests conversion of null, empty and non-empty heterogeneous collections. */
public void testToPermissionCollection() {
    Permission p1 = new SecurityPermission("abc");
    Permission p2 = new AllPermission();
    Collection c1 = Arrays.asList(new Permission[] { p1, p2, });

    PermissionCollection pc = PolicyUtils.toPermissionCollection(null);
    assertNotNull(pc);
    assertFalse(pc.elements().hasMoreElements());

    pc = PolicyUtils.toPermissionCollection(new HashSet());
    assertNotNull(pc);
    assertFalse(pc.elements().hasMoreElements());

    pc = PolicyUtils.toPermissionCollection(c1);
    assertNotNull(pc);
    Enumeration en = pc.elements();
    Collection c2 = new HashSet();
    c2.add(en.nextElement());
    c2.add(en.nextElement());
    assertFalse(en.hasMoreElements());
    assertTrue(c2.contains(p1));
    assertTrue(c2.contains(p2));
}