public static bool DetermineApplicationTrust(ActivationContext activationContext, TrustManagerContext context) { if (activationContext == null) { throw new ArgumentNullException("activationContext"); } ApplicationTrust appTrust = null; AppDomainManager domainManager = AppDomain.CurrentDomain.DomainManager; if (domainManager != null) { HostSecurityManager securityManager = domainManager.HostSecurityManager; if ((securityManager != null) && ((securityManager.Flags & HostSecurityManagerOptions.HostDetermineApplicationTrust) == HostSecurityManagerOptions.HostDetermineApplicationTrust)) { appTrust = securityManager.DetermineApplicationTrust(CmsUtils.MergeApplicationEvidence(null, activationContext.Identity, activationContext, null), null, context); if (appTrust == null) { return(false); } return(appTrust.IsApplicationTrustedToRun); } } appTrust = DetermineApplicationTrustInternal(activationContext, context); if (appTrust == null) { return(false); } return(appTrust.IsApplicationTrustedToRun); }
public static void CallMethods() { HostSecurityManager hsm = new HostSecurityManager(); Policy.ApplicationTrust at = hsm.DetermineApplicationTrust(new Policy.Evidence(), new Policy.Evidence(), new Policy.TrustManagerContext()); Policy.Evidence e = hsm.ProvideAppDomainEvidence(new Policy.Evidence()); }
[System.Security.SecuritySafeCritical] // auto-generated protected static ObjectHandle CreateInstanceHelper(AppDomainSetup adSetup) { if (adSetup.ActivationArguments == null) { throw new ArgumentException(Environment.GetResourceString("Arg_MissingActivationArguments")); } Contract.EndContractBlock(); adSetup.ActivationArguments.ActivateInstance = true; // inherit the caller's domain evidence for the activation. Evidence activatorEvidence = AppDomain.CurrentDomain.Evidence; // add the application identity as an evidence. Evidence appEvidence = CmsUtils.MergeApplicationEvidence(null, adSetup.ActivationArguments.ApplicationIdentity, adSetup.ActivationArguments.ActivationContext, adSetup.ActivationArguments.ActivationData); HostSecurityManager securityManager = AppDomain.CurrentDomain.HostSecurityManager; ApplicationTrust appTrust = securityManager.DetermineApplicationTrust(appEvidence, activatorEvidence, new TrustManagerContext()); if (appTrust == null || !appTrust.IsApplicationTrustedToRun) { throw new PolicyException(Environment.GetResourceString("Policy_NoExecutionPermission"), System.__HResults.CORSEC_E_NO_EXEC_PERM, null); } ObjRef or = AppDomain.nCreateInstance(adSetup.ActivationArguments.ApplicationIdentity.FullName, adSetup, appEvidence, appEvidence == null ? AppDomain.CurrentDomain.InternalEvidence : null, AppDomain.CurrentDomain.GetSecurityDescriptor()); if (or == null) { return(null); } return(RemotingServices.Unmarshal(or) as ObjectHandle); }
protected static ObjectHandle CreateInstanceHelper(AppDomainSetup adSetup) { if (adSetup.ActivationArguments == null) { throw new ArgumentException(Environment.GetResourceString("Arg_MissingActivationArguments")); } adSetup.ActivationArguments.ActivateInstance = true; Evidence evidence = AppDomain.CurrentDomain.Evidence; Evidence evidence2 = CmsUtils.MergeApplicationEvidence(null, adSetup.ActivationArguments.ApplicationIdentity, adSetup.ActivationArguments.ActivationContext, adSetup.ActivationArguments.ActivationData); HostSecurityManager hostSecurityManager = AppDomain.CurrentDomain.HostSecurityManager; ApplicationTrust applicationTrust = hostSecurityManager.DetermineApplicationTrust(evidence2, evidence, new TrustManagerContext()); if (applicationTrust == null || !applicationTrust.IsApplicationTrustedToRun) { throw new PolicyException(Environment.GetResourceString("Policy_NoExecutionPermission"), -2146233320, null); } ObjRef objRef = AppDomain.nCreateInstance(adSetup.ActivationArguments.ApplicationIdentity.FullName, adSetup, evidence2, (evidence2 == null) ? AppDomain.CurrentDomain.InternalEvidence : null, AppDomain.CurrentDomain.GetSecurityDescriptor()); if (objRef == null) { return(null); } return(RemotingServices.Unmarshal(objRef) as ObjectHandle); }
public static void CallMethods() { HostSecurityManager hsm = new HostSecurityManager(); ApplicationTrust at = hsm.DetermineApplicationTrust(new Evidence(), new Evidence(), new TrustManagerContext()); Evidence e = hsm.ProvideAppDomainEvidence(new Evidence()); }
public void DetermineApplicationTrust_Evidence_Evidence_Null() { HostSecurityManager hsm = new HostSecurityManager(); hsm.DetermineApplicationTrust(new Evidence(), new Evidence(), null); }
public void DetermineApplicationTrust_Evidence_Null_TrustManagerContext() { HostSecurityManager hsm = new HostSecurityManager(); hsm.DetermineApplicationTrust(new Evidence(), null, new TrustManagerContext()); }