using System; using System.Collections.Generic; using System.Security.Permissions; namespace System.Security.Policy { // Token: 0x02000584 RID: 1412 internal static class DefaultPolicies { // Token: 0x060033AB RID: 13227 RVA: 0x000B18CC File Offset: 0x000AFACC // Note: this type is marked as 'beforefieldinit'. static DefaultPolicies() { byte[] array = new byte[16]; array[8] = 4; DefaultPolicies._ecmaKey = array; DefaultPolicies._msFinalKey = new byte[] { 0, 36, 0, 0, 4, 128, 0, 0, 148, 0, 0, 0, 6, 2, 0, 0, 0, 36, 0, 0, 82, 83, 65, 49, 0, 4, 0, 0, 1, 0, 1, 0, 7, 209, 250, 87, 196, 174, 217, 240, 163, 46, 132, 170, 15, 174, 253, 13, 233, 232, 253, 106, 236, 143, 135, 251, 3, 118, 108, 131, 76, 153, 146, 30, 178, 59, 231, 154, 217, 213, 220, 193, 221, 154, 210, 54, 19, 33, 2, 144, 11, 114, 60, 249, 128, 149, 127, 196, 225, 119, 16, 143, 198, 7, 119, 79, 41, 232, 50, 14, 146, 234, 5, 236, 228, 232, 33, 192, 165, 239, 232, 241, 100, 92, 76, 12, 147, 193, 171, 153, 40, 93, 98, 44, 170, 101, 44, 29, 250, 214, 61, 116, 93, 111, 45, 229, 241, 126, 94, 175, 15, 196, 150, 61, 38, 28, 138, 18, 67, 101, 24, 32, 109, 192, 147, 52, 77, 90, 210, 147 }; } // Token: 0x060033AC RID: 13228 RVA: 0x000B1904 File Offset: 0x000AFB04 public static PermissionSet GetSpecialPermissionSet(string name) { if (name == null) { throw new ArgumentNullException("name"); } switch (name) { case "FullTrust": return DefaultPolicies.FullTrust; case "LocalIntranet": return DefaultPolicies.LocalIntranet; case "Internet": return DefaultPolicies.Internet; case "SkipVerification": return DefaultPolicies.SkipVerification; case "Execution": return DefaultPolicies.Execution; case "Nothing": return DefaultPolicies.Nothing; case "Everything": return DefaultPolicies.Everything; } return null; } // Token: 0x17000A2B RID: 2603 // (get) Token: 0x060033AD RID: 13229 RVA: 0x000B19FC File Offset: 0x000AFBFC public static PermissionSet FullTrust { get { if (DefaultPolicies._fullTrust == null) { DefaultPolicies._fullTrust = DefaultPolicies.BuildFullTrust(); } return DefaultPolicies._fullTrust; } } // Token: 0x17000A2C RID: 2604 // (get) Token: 0x060033AE RID: 13230 RVA: 0x000B1A18 File Offset: 0x000AFC18 public static PermissionSet LocalIntranet { get { if (DefaultPolicies._localIntranet == null) { DefaultPolicies._localIntranet = DefaultPolicies.BuildLocalIntranet(); } return DefaultPolicies._localIntranet; } } // Token: 0x17000A2D RID: 2605 // (get) Token: 0x060033AF RID: 13231 RVA: 0x000B1A34 File Offset: 0x000AFC34 public static PermissionSet Internet { get { if (DefaultPolicies._internet == null) { DefaultPolicies._internet = DefaultPolicies.BuildInternet(); } return DefaultPolicies._internet; } } // Token: 0x17000A2E RID: 2606 // (get) Token: 0x060033B0 RID: 13232 RVA: 0x000B1A50 File Offset: 0x000AFC50 public static PermissionSet SkipVerification { get { if (DefaultPolicies._skipVerification == null) { DefaultPolicies._skipVerification = DefaultPolicies.BuildSkipVerification(); } return DefaultPolicies._skipVerification; } } // Token: 0x17000A2F RID: 2607 // (get) Token: 0x060033B1 RID: 13233 RVA: 0x000B1A6C File Offset: 0x000AFC6C public static PermissionSet Execution { get { if (DefaultPolicies._execution == null) { DefaultPolicies._execution = DefaultPolicies.BuildExecution(); } return DefaultPolicies._execution; } } // Token: 0x17000A30 RID: 2608 // (get) Token: 0x060033B2 RID: 13234 RVA: 0x000B1A88 File Offset: 0x000AFC88 public static PermissionSet Nothing { get { if (DefaultPolicies._nothing == null) { DefaultPolicies._nothing = DefaultPolicies.BuildNothing(); } return DefaultPolicies._nothing; } } // Token: 0x17000A31 RID: 2609 // (get) Token: 0x060033B3 RID: 13235 RVA: 0x000B1AA4 File Offset: 0x000AFCA4 public static PermissionSet Everything { get { if (DefaultPolicies._everything == null) { DefaultPolicies._everything = DefaultPolicies.BuildEverything(); } return DefaultPolicies._everything; } } // Token: 0x060033B4 RID: 13236 RVA: 0x000B1AC0 File Offset: 0x000AFCC0 public static StrongNameMembershipCondition FullTrustMembership(string name, DefaultPolicies.Key key) { StrongNamePublicKeyBlob strongNamePublicKeyBlob = null; if (key != DefaultPolicies.Key.Ecma) { if (key == DefaultPolicies.Key.MsFinal) { if (DefaultPolicies._msFinal == null) { DefaultPolicies._msFinal = new StrongNamePublicKeyBlob(DefaultPolicies._msFinalKey); } strongNamePublicKeyBlob = DefaultPolicies._msFinal; } } else { if (DefaultPolicies._ecma == null) { DefaultPolicies._ecma = new StrongNamePublicKeyBlob(DefaultPolicies._ecmaKey); } strongNamePublicKeyBlob = DefaultPolicies._ecma; } if (DefaultPolicies._fxVersion == null) { DefaultPolicies._fxVersion = new Version("2.0.0.0"); } return new StrongNameMembershipCondition(strongNamePublicKeyBlob, name, DefaultPolicies._fxVersion); } // Token: 0x060033B5 RID: 13237 RVA: 0x000B1B58 File Offset: 0x000AFD58 private static NamedPermissionSet BuildFullTrust() { return new NamedPermissionSet("FullTrust", PermissionState.Unrestricted); } // Token: 0x060033B6 RID: 13238 RVA: 0x000B1B68 File Offset: 0x000AFD68 private static NamedPermissionSet BuildLocalIntranet() { NamedPermissionSet namedPermissionSet = new NamedPermissionSet("LocalIntranet", PermissionState.None); namedPermissionSet.AddPermission(new EnvironmentPermission(EnvironmentPermissionAccess.Read, "USERNAME;USER")); namedPermissionSet.AddPermission(new FileDialogPermission(PermissionState.Unrestricted)); namedPermissionSet.AddPermission(new IsolatedStorageFilePermission(PermissionState.None) { UsageAllowed = IsolatedStorageContainment.AssemblyIsolationByUser, UserQuota = long.MaxValue }); namedPermissionSet.AddPermission(new ReflectionPermission(ReflectionPermissionFlag.ReflectionEmit)); SecurityPermissionFlag securityPermissionFlag = SecurityPermissionFlag.Assertion | SecurityPermissionFlag.Execution; namedPermissionSet.AddPermission(new SecurityPermission(securityPermissionFlag)); namedPermissionSet.AddPermission(new UIPermission(PermissionState.Unrestricted)); namedPermissionSet.AddPermission(PermissionBuilder.Create("System.Net.DnsPermission, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", PermissionState.Unrestricted)); namedPermissionSet.AddPermission(PermissionBuilder.Create(DefaultPolicies.PrintingPermission("SafePrinting"))); return namedPermissionSet; } // Token: 0x060033B7 RID: 13239 RVA: 0x000B1C1C File Offset: 0x000AFE1C private static NamedPermissionSet BuildInternet() { NamedPermissionSet namedPermissionSet = new NamedPermissionSet("Internet", PermissionState.None); namedPermissionSet.AddPermission(new FileDialogPermission(FileDialogPermissionAccess.Open)); namedPermissionSet.AddPermission(new IsolatedStorageFilePermission(PermissionState.None) { UsageAllowed = IsolatedStorageContainment.DomainIsolationByUser, UserQuota = 512000L }); namedPermissionSet.AddPermission(new SecurityPermission(SecurityPermissionFlag.Execution)); namedPermissionSet.AddPermission(new UIPermission(UIPermissionWindow.SafeTopLevelWindows, UIPermissionClipboard.OwnClipboard)); namedPermissionSet.AddPermission(PermissionBuilder.Create(DefaultPolicies.PrintingPermission("SafePrinting"))); return namedPermissionSet; } // Token: 0x060033B8 RID: 13240 RVA: 0x000B1C98 File Offset: 0x000AFE98 private static NamedPermissionSet BuildSkipVerification() { NamedPermissionSet namedPermissionSet = new NamedPermissionSet("SkipVerification", PermissionState.None); namedPermissionSet.AddPermission(new SecurityPermission(SecurityPermissionFlag.SkipVerification)); return namedPermissionSet; } // Token: 0x060033B9 RID: 13241 RVA: 0x000B1CC0 File Offset: 0x000AFEC0 private static NamedPermissionSet BuildExecution() { NamedPermissionSet namedPermissionSet = new NamedPermissionSet("Execution", PermissionState.None); namedPermissionSet.AddPermission(new SecurityPermission(SecurityPermissionFlag.Execution)); return namedPermissionSet; } // Token: 0x060033BA RID: 13242 RVA: 0x000B1CE8 File Offset: 0x000AFEE8 private static NamedPermissionSet BuildNothing() { return new NamedPermissionSet("Nothing", PermissionState.None); } // Token: 0x060033BB RID: 13243 RVA: 0x000B1CF8 File Offset: 0x000AFEF8 private static NamedPermissionSet BuildEverything() { NamedPermissionSet namedPermissionSet = new NamedPermissionSet("Everything", PermissionState.None); namedPermissionSet.AddPermission(new EnvironmentPermission(PermissionState.Unrestricted)); namedPermissionSet.AddPermission(new FileDialogPermission(PermissionState.Unrestricted)); namedPermissionSet.AddPermission(new FileIOPermission(PermissionState.Unrestricted)); namedPermissionSet.AddPermission(new IsolatedStorageFilePermission(PermissionState.Unrestricted)); namedPermissionSet.AddPermission(new ReflectionPermission(PermissionState.Unrestricted)); namedPermissionSet.AddPermission(new RegistryPermission(PermissionState.Unrestricted)); namedPermissionSet.AddPermission(new KeyContainerPermission(PermissionState.Unrestricted)); SecurityPermissionFlag securityPermissionFlag = SecurityPermissionFlag.AllFlags; securityPermissionFlag &= ~SecurityPermissionFlag.SkipVerification; namedPermissionSet.AddPermission(new SecurityPermission(securityPermissionFlag)); namedPermissionSet.AddPermission(new UIPermission(PermissionState.Unrestricted)); namedPermissionSet.AddPermission(PermissionBuilder.Create("System.Net.DnsPermission, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", PermissionState.Unrestricted)); namedPermissionSet.AddPermission(PermissionBuilder.Create("System.Drawing.Printing.PrintingPermission, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", PermissionState.Unrestricted)); namedPermissionSet.AddPermission(PermissionBuilder.Create("System.Diagnostics.EventLogPermission, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", PermissionState.Unrestricted)); namedPermissionSet.AddPermission(PermissionBuilder.Create("System.Net.SocketPermission, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", PermissionState.Unrestricted)); namedPermissionSet.AddPermission(PermissionBuilder.Create("System.Net.WebPermission, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", PermissionState.Unrestricted)); namedPermissionSet.AddPermission(PermissionBuilder.Create("System.Diagnostics.PerformanceCounterPermission, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", PermissionState.Unrestricted)); namedPermissionSet.AddPermission(PermissionBuilder.Create("System.DirectoryServices.DirectoryServicesPermission, System.DirectoryServices, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", PermissionState.Unrestricted)); namedPermissionSet.AddPermission(PermissionBuilder.Create("System.Messaging.MessageQueuePermission, System.Messaging, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", PermissionState.Unrestricted)); namedPermissionSet.AddPermission(PermissionBuilder.Create("System.ServiceProcess.ServiceControllerPermission, System.ServiceProcess, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", PermissionState.Unrestricted)); namedPermissionSet.AddPermission(PermissionBuilder.Create("System.Data.OleDb.OleDbPermission, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", PermissionState.Unrestricted)); namedPermissionSet.AddPermission(PermissionBuilder.Create("System.Data.SqlClient.SqlClientPermission, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", PermissionState.Unrestricted)); return namedPermissionSet; } // Token: 0x060033BC RID: 13244 RVA: 0x000B1E58 File Offset: 0x000B0058 private static SecurityElement PrintingPermission(string level) { SecurityElement securityElement = new SecurityElement("IPermission"); securityElement.AddAttribute("class", "System.Drawing.Printing.PrintingPermission, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"); securityElement.AddAttribute("version", "1"); securityElement.AddAttribute("Level", level); return securityElement; } // Token: 0x04001523 RID: 5411 private const string DnsPermissionClass = "System.Net.DnsPermission, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"; // Token: 0x04001524 RID: 5412 private const string EventLogPermissionClass = "System.Diagnostics.EventLogPermission, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"; // Token: 0x04001525 RID: 5413 private const string PrintingPermissionClass = "System.Drawing.Printing.PrintingPermission, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"; // Token: 0x04001526 RID: 5414 private const string SocketPermissionClass = "System.Net.SocketPermission, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"; // Token: 0x04001527 RID: 5415 private const string WebPermissionClass = "System.Net.WebPermission, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"; // Token: 0x04001528 RID: 5416 private const string PerformanceCounterPermissionClass = "System.Diagnostics.PerformanceCounterPermission, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"; // Token: 0x04001529 RID: 5417 private const string DirectoryServicesPermissionClass = "System.DirectoryServices.DirectoryServicesPermission, System.DirectoryServices, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"; // Token: 0x0400152A RID: 5418 private const string MessageQueuePermissionClass = "System.Messaging.MessageQueuePermission, System.Messaging, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"; // Token: 0x0400152B RID: 5419 private const string ServiceControllerPermissionClass = "System.ServiceProcess.ServiceControllerPermission, System.ServiceProcess, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"; // Token: 0x0400152C RID: 5420 private const string OleDbPermissionClass = "System.Data.OleDb.OleDbPermission, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"; // Token: 0x0400152D RID: 5421 private const string SqlClientPermissionClass = "System.Data.SqlClient.SqlClientPermission, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"; // Token: 0x0400152E RID: 5422 private const string DataProtectionPermissionClass = "System.Security.Permissions.DataProtectionPermission, System.Security, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"; // Token: 0x0400152F RID: 5423 private const string StorePermissionClass = "System.Security.Permissions.StorePermission, System.Security, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"; // Token: 0x04001530 RID: 5424 private static Version _fxVersion; // Token: 0x04001531 RID: 5425 private static byte[] _ecmaKey; // Token: 0x04001532 RID: 5426 private static StrongNamePublicKeyBlob _ecma; // Token: 0x04001533 RID: 5427 private static byte[] _msFinalKey; // Token: 0x04001534 RID: 5428 private static StrongNamePublicKeyBlob _msFinal; // Token: 0x04001535 RID: 5429 private static NamedPermissionSet _fullTrust; // Token: 0x04001536 RID: 5430 private static NamedPermissionSet _localIntranet; // Token: 0x04001537 RID: 5431 private static NamedPermissionSet _internet; // Token: 0x04001538 RID: 5432 private static NamedPermissionSet _skipVerification; // Token: 0x04001539 RID: 5433 private static NamedPermissionSet _execution; // Token: 0x0400153A RID: 5434 private static NamedPermissionSet _nothing; // Token: 0x0400153B RID: 5435 private static NamedPermissionSet _everything; // Token: 0x02000585 RID: 1413 public static class ReservedNames { // Token: 0x060033BD RID: 13245 RVA: 0x000B1EA0 File Offset: 0x000B00A0 public static bool IsReserved(string name) { if (name != null) { if (DefaultPolicies.ReservedNames.<>f__switch$map2C == null) { DefaultPolicies.ReservedNames.<>f__switch$map2C = new Dictionary(7) { { "FullTrust", 0 }, { "LocalIntranet", 0 }, { "Internet", 0 }, { "SkipVerification", 0 }, { "Execution", 0 }, { "Nothing", 0 }, { "Everything", 0 } }; } int num; if (DefaultPolicies.ReservedNames.<>f__switch$map2C.TryGetValue(name, out num)) { if (num == 0) { return true; } } } return false; } // Token: 0x0400153D RID: 5437 public const string FullTrust = "FullTrust"; // Token: 0x0400153E RID: 5438 public const string LocalIntranet = "LocalIntranet"; // Token: 0x0400153F RID: 5439 public const string Internet = "Internet"; // Token: 0x04001540 RID: 5440 public const string SkipVerification = "SkipVerification"; // Token: 0x04001541 RID: 5441 public const string Execution = "Execution"; // Token: 0x04001542 RID: 5442 public const string Nothing = "Nothing"; // Token: 0x04001543 RID: 5443 public const string Everything = "Everything"; } // Token: 0x02000586 RID: 1414 public enum Key { // Token: 0x04001546 RID: 5446 Ecma, // Token: 0x04001547 RID: 5447 MsFinal } } }