Files
Dec2017-Script-Dump/mscorlib/System/Security/Policy/ApplicationSecurityManager.cs
T
2026-06-04 11:42:34 +02:00

76 lines
3.8 KiB
C#

using System;
using System.Runtime.InteropServices;
namespace System.Security.Policy
{
/// <summary>Manages trust decisions for manifest activated applications. </summary>
// Token: 0x0200057D RID: 1405
[ComVisible(true)]
public static class ApplicationSecurityManager
{
/// <summary>Gets or sets the current application trust manager.</summary>
/// <returns>An <see cref="T:System.Security.Policy.IApplicationTrustManager" /> that represents the current trust manager.</returns>
/// <exception cref="T:System.Security.Policy.PolicyException">The policy on this application does not have a trust manager.</exception>
// 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;
}
}
/// <summary>Gets an application trust collection that contains the cached trust decisions for the user.</summary>
/// <returns>An <see cref="T:System.Security.Policy.ApplicationTrustCollection" /> that contains the cached trust decisions for the user.</returns>
// 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;
}
}
/// <summary>Determines whether the user approves the specified application to execute with the requested permission set.</summary>
/// <returns>true to execute the specified application; otherwise, false.</returns>
/// <param name="activationContext">An <see cref="T:System.ActivationContext" /> identifying the activation context for the application.</param>
/// <param name="context">A <see cref="T:System.Security.Policy.TrustManagerContext" /> identifying the trust manager context for the application.</param>
/// <exception cref="T:System.ArgumentNullException">The <paramref name="activationContext" /> parameter is null.</exception>
/// <PermissionSet>
/// <IPermission class="System.Security.Permissions.FileIOPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Read="*AllFiles*" PathDiscovery="*AllFiles*" />
/// <IPermission class="System.Security.Permissions.ReflectionPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Flags="MemberAccess" />
/// <IPermission class="System.Security.Permissions.SecurityPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Flags="ControlEvidence, ControlPolicy" />
/// </PermissionSet>
// 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;
}
}