下面列出了java.security.Policy#getPolicy ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
protected void setUp() {
if (System.getSecurityManager() != null) {
hasSM = true;
System.setSecurityManager(null);
}
filePath = System.getProperty("test.src");
if (filePath == null) {
//current directory
filePath = System.getProperty("user.dir");
}
origPolicy = Policy.getPolicy();
}
protected void setUp() {
if (System.getSecurityManager() != null) {
hasSM = true;
System.setSecurityManager(null);
}
filePath = System.getProperty("test.src");
if (filePath == null) {
//current directory
filePath = System.getProperty("user.dir");
}
origPolicy = Policy.getPolicy();
}
/**
* Returns the installed policy object.
*
* @return
*/
static Policy getPolicy() {
final SecurityManager sm = System.getSecurityManager();
if (sm != null) {
return AccessController.doPrivileged(new PrivilegedAction<Policy>() {
public Policy run() {
return Policy.getPolicy();
}
});
} else {
return Policy.getPolicy();
}
}
protected void setUp() {
if (System.getSecurityManager() != null) {
hasSM = true;
System.setSecurityManager(null);
}
filePath = System.getProperty("test.src");
if (filePath == null) {
//current directory
filePath = System.getProperty("user.dir");
}
origPolicy = Policy.getPolicy();
}
void test(String[] args) throws Throwable {
// Test without a security manager
test1();
// Test with a security manager
Policy defaultPolicy = Policy.getPolicy();
Policy.setPolicy(new MyPolicy(defaultPolicy));
System.setSecurityManager(new SecurityManager());
try {
test1();
} finally {
System.setSecurityManager(null);
Policy.setPolicy(defaultPolicy);
}
}
/**
* Returns whether this extension is signed or not.
* This will return {@code false} if there is no init class defined or can not be loaded, there is no certificate present
* or the certificate is not sufficient.
*
* @return {@code true} if the extension is properly signed, {@code false} otherwise
* @since 9.0.0
*/
public boolean isSigned() {
if (pluginInitClassName == null) {
return false;
}
try {
Policy policy = Policy.getPolicy();
if (!(policy instanceof PluginSandboxPolicy)) {
return false;
}
Class<?> initClass = Class.forName(pluginInitClassName, false, classLoader);
ProtectionDomain protectionDomain = initClass.getProtectionDomain();
Certificate[] certificates = protectionDomain.getCodeSource().getCertificates();
if (certificates == null || certificates.length == 0) {
return false;
}
Enumeration<Permission> elements = policy.getPermissions(protectionDomain).elements();
while (elements.hasMoreElements()) {
if (elements.nextElement() instanceof AllPermission) {
return true;
}
}
} catch (ClassNotFoundException | SecurityException e) {
return false;
}
return false;
}
public static void main(String[] args) throws Exception {
Policy policy = Policy.getPolicy();
PermissionCollection perms = policy.getPermissions((CodeSource)null);
if (perms.elements().hasMoreElements()) {
System.err.println(perms);
throw new Exception("PermissionCollection is not empty");
}
}
protected void setUp() {
if (System.getSecurityManager() != null) {
hasSM = true;
System.setSecurityManager(null);
}
filePath = System.getProperty("test.src");
if (filePath == null) {
//current directory
filePath = System.getProperty("user.dir");
}
origPolicy = Policy.getPolicy();
}
protected void setUp() {
if (System.getSecurityManager() != null) {
hasSM = true;
System.setSecurityManager(null);
}
filePath = System.getProperty("test.src");
if (filePath == null) {
//current directory
filePath = System.getProperty("user.dir");
}
origPolicy = Policy.getPolicy();
}
void test(String[] args) throws Throwable {
// Test without a security manager
test1();
// Test with a security manager
Policy defaultPolicy = Policy.getPolicy();
Policy.setPolicy(new MyPolicy(defaultPolicy));
System.setSecurityManager(new SecurityManager());
try {
test1();
} finally {
System.setSecurityManager(null);
Policy.setPolicy(defaultPolicy);
}
}
public static void main(String[] args) throws Exception {
Policy policy = Policy.getPolicy();
PermissionCollection perms = policy.getPermissions((CodeSource)null);
if (perms.elements().hasMoreElements()) {
System.err.println(perms);
throw new Exception("PermissionCollection is not empty");
}
}
protected void setUp() {
if (System.getSecurityManager() != null) {
hasSM = true;
System.setSecurityManager(null);
}
filepath = System.getProperty("test.src");
if (filepath == null) {
//current directory
filepath = System.getProperty("user.dir");
}
origPolicy = Policy.getPolicy();
}
protected void setUp() {
if (System.getSecurityManager() != null) {
hasSM = true;
System.setSecurityManager(null);
}
filepath = System.getProperty("test.src");
if (filepath == null) {
//current directory
filepath = System.getProperty("user.dir");
}
origPolicy = Policy.getPolicy();
}
protected void setUp() {
if (System.getSecurityManager() != null) {
hasSM = true;
System.setSecurityManager(null);
}
filePath = System.getProperty("test.src");
if (filePath == null) {
//current directory
filePath = System.getProperty("user.dir");
}
origPolicy = Policy.getPolicy();
}
protected void setUp() {
if (System.getSecurityManager() != null) {
hasSM = true;
System.setSecurityManager(null);
}
filepath = System.getProperty("test.src");
if (filepath == null) {
//current directory
filepath = System.getProperty("user.dir");
}
origPolicy = Policy.getPolicy();
}
public SyncFactoryPermissionsTests() {
policy = Policy.getPolicy();
sm = System.getSecurityManager();
ctx = new StubContext();
}
private void doit() throws Exception {
// A security manager must be installed
SecurityManager sm=System.getSecurityManager();
if (sm==null)
throw new
Exception("Test must be run with a security manager installed");
// Instantiate and set the new policy
DynamicPolicy dp = new DynamicPolicy();
Policy.setPolicy(dp);
// Verify that policy has been set
if (dp != Policy.getPolicy())
throw new Exception("Policy was not set!!");
// now see this class can access user.name
String usr = getUserName();
if (usr != null) {
System.out.println("Test was able to read user.name prior to refresh!");
throw new
Exception("Test was able to read user.name prior to refresh!");
}
// Now, make policy allow reading user.name
dp.refresh();
// now I should be able to read it
usr = getUserName();
if (usr == null) {
System.out.println("Test was unable to read user.name after refresh!");
throw new
Exception("Test was unable to read user.name after refresh!");
}
// Now, take away permission to read user.name
dp.refresh();
// now I should not be able to read it
usr = getUserName();
if (usr != null) {
System.out.println("Test was able to read user.name following 2nd refresh!");
throw new
Exception("Test was able to read user.name following 2nd refresh!");
}
}
private void doit() throws Exception {
// A security manager must be installed
SecurityManager sm=System.getSecurityManager();
if (sm==null)
throw new
Exception("Test must be run with a security manager installed");
// Instantiate and set the new policy
DynamicPolicy dp = new DynamicPolicy();
Policy.setPolicy(dp);
// Verify that policy has been set
if (dp != Policy.getPolicy())
throw new Exception("Policy was not set!!");
// now see this class can access user.name
String usr = getUserName();
if (usr != null) {
System.out.println("Test was able to read user.name prior to refresh!");
throw new
Exception("Test was able to read user.name prior to refresh!");
}
// Now, make policy allow reading user.name
dp.refresh();
// now I should be able to read it
usr = getUserName();
if (usr == null) {
System.out.println("Test was unable to read user.name after refresh!");
throw new
Exception("Test was unable to read user.name after refresh!");
}
// Now, take away permission to read user.name
dp.refresh();
// now I should not be able to read it
usr = getUserName();
if (usr != null) {
System.out.println("Test was able to read user.name following 2nd refresh!");
throw new
Exception("Test was able to read user.name following 2nd refresh!");
}
}
private void doit() throws Exception {
// A security manager must be installed
SecurityManager sm=System.getSecurityManager();
if (sm==null)
throw new
Exception("Test must be run with a security manager installed");
// Instantiate and set the new policy
DynamicPolicy dp = new DynamicPolicy();
Policy.setPolicy(dp);
// Verify that policy has been set
if (dp != Policy.getPolicy())
throw new Exception("Policy was not set!!");
// now see this class can access user.name
String usr = getUserName();
if (usr != null) {
System.out.println("Test was able to read user.name prior to refresh!");
throw new
Exception("Test was able to read user.name prior to refresh!");
}
// Now, make policy allow reading user.name
dp.refresh();
// now I should be able to read it
usr = getUserName();
if (usr == null) {
System.out.println("Test was unable to read user.name after refresh!");
throw new
Exception("Test was unable to read user.name after refresh!");
}
// Now, take away permission to read user.name
dp.refresh();
// now I should not be able to read it
usr = getUserName();
if (usr != null) {
System.out.println("Test was able to read user.name following 2nd refresh!");
throw new
Exception("Test was able to read user.name following 2nd refresh!");
}
}
public SyncFactoryPermissionsTests() {
policy = Policy.getPolicy();
sm = System.getSecurityManager();
ctx = new StubContext();
}