using System;
using System.Runtime.InteropServices;
namespace System.Security.Policy
{
/// Manages trust decisions for manifest activated applications.
// Token: 0x0200057D RID: 1405
[ComVisible(true)]
public static class ApplicationSecurityManager
{
/// Gets or sets the current application trust manager.
/// An that represents the current trust manager.
/// The policy on this application does not have a trust manager.
// Token: 0x17000A13 RID: 2579
// (get) Token: 0x06003359 RID: 13145 RVA: 0x000B0764 File Offset: 0x000AE964
public static IApplicationTrustManager ApplicationTrustManager
{
get
{
if (ApplicationSecurityManager._appTrustManager == null)
{
ApplicationSecurityManager._appTrustManager = new MonoTrustManager();
}
return ApplicationSecurityManager._appTrustManager;
}
}
/// Gets an application trust collection that contains the cached trust decisions for the user.
/// An that contains the cached trust decisions for the user.
// Token: 0x17000A14 RID: 2580
// (get) Token: 0x0600335A RID: 13146 RVA: 0x000B0780 File Offset: 0x000AE980
public static ApplicationTrustCollection UserApplicationTrusts
{
get
{
if (ApplicationSecurityManager._userAppTrusts == null)
{
ApplicationSecurityManager._userAppTrusts = new ApplicationTrustCollection();
}
return ApplicationSecurityManager._userAppTrusts;
}
}
/// Determines whether the user approves the specified application to execute with the requested permission set.
/// true to execute the specified application; otherwise, false.
/// An identifying the activation context for the application.
/// A identifying the trust manager context for the application.
/// The parameter is null.
///
///
///
///
///
// Token: 0x0600335B RID: 13147 RVA: 0x000B079C File Offset: 0x000AE99C
[MonoTODO("Missing application manifest support")]
public static bool DetermineApplicationTrust(ActivationContext activationContext, TrustManagerContext context)
{
if (activationContext == null)
{
throw new NullReferenceException("activationContext");
}
ApplicationTrust applicationTrust = ApplicationSecurityManager.ApplicationTrustManager.DetermineApplicationTrust(activationContext, context);
return applicationTrust.IsApplicationTrustedToRun;
}
// Token: 0x04001509 RID: 5385
private const string config = "ApplicationTrust.config";
// Token: 0x0400150A RID: 5386
private static IApplicationTrustManager _appTrustManager;
// Token: 0x0400150B RID: 5387
private static ApplicationTrustCollection _userAppTrusts;
}
}