mscorlib(4.0.0.0) API with additions
System.Security Namespace Reference

Classes

class  AllowPartiallyTrustedCallersAttribute
 Allows an assembly to be called by partially trusted code. Without this declaration, only fully trusted callers are able to use the assembly. This class cannot be inherited. More...
 
class  CodeAccessPermission
 Defines the underlying structure of all code access permissions. More...
 
class  HostProtectionException
 The exception that is thrown when a denied host resource is detected. More...
 
class  HostSecurityManager
 Allows the control and customization of security behavior for application domains. More...
 
interface  IEvidenceFactory
 Gets an object's T:System.Security.Policy.Evidence. More...
 
interface  IPermission
 Defines methods implemented by permission types. More...
 
interface  ISecurityEncodable
 Defines the methods that convert permission object state to and from XML element representation. More...
 
interface  ISecurityPolicyEncodable
 Supports the methods that convert permission object state to and from an XML element representation. More...
 
interface  IStackWalk
 Manages the stack walk that determines whether all callers in the call stack have the required permissions to access a protected resource. More...
 
class  NamedPermissionSet
 Defines a permission set that has a name and description associated with it. This class cannot be inherited. More...
 
class  PermissionSet
 Represents a collection that can contain many different types of permissions. More...
 
class  ReadOnlyPermissionSet
 Represents a read-only collection that can contain many different types of permissions. More...
 
class  SecureString
 Represents text that should be kept confidential, such as by deleting it from computer memory when no longer needed. This class cannot be inherited. More...
 
class  SecureStringMarshal
 Provides a collection of methods for allocating unmanaged memory and copying unmanaged memory blocks. More...
 
class  SecurityContext
 Encapsulates and propagates all security-related data for execution contexts transferred across threads. This class cannot be inherited. More...
 
class  SecurityCriticalAttribute
 Specifies that code or an assembly performs security-critical operations. More...
 
class  SecurityElement
 Represents the XML object model for encoding security objects. This class cannot be inherited. More...
 
class  SecurityException
 The exception that is thrown when a security error is detected. More...
 
class  SecurityManager
 Provides the main access point for classes interacting with the security system. This class cannot be inherited. More...
 
class  SecurityRulesAttribute
 Indicates the set of security rules the common language runtime should enforce for an assembly. More...
 
class  SecuritySafeCriticalAttribute
 Identifies types or members as security-critical and safely accessible by transparent code. More...
 
class  SecurityState
 Provides a base class for requesting the security status of an action from the T:System.AppDomainManager object. More...
 
class  SecurityTransparentAttribute
 Specifies that an assembly cannot cause an elevation of privilege. More...
 
class  SecurityTreatAsSafeAttribute
 Identifies which of the nonpublic T:System.Security.SecurityCriticalAttribute members are accessible by transparent code within the assembly. More...
 
class  SuppressUnmanagedCodeSecurityAttribute
 Allows managed code to call into unmanaged code without a stack walk. This class cannot be inherited. More...
 
class  UnverifiableCodeAttribute
 Marks modules containing unverifiable code. This class cannot be inherited. More...
 
class  VerificationException
 The exception that is thrown when the security policy requires code to be type safe and the verification process is unable to verify that the code is type safe. More...
 
class  XmlSyntaxException
 The exception that is thrown when there is a syntax error in XML parsing. This class cannot be inherited. More...
 

Enumerations

enum  HostSecurityManagerOptions {
  HostSecurityManagerOptions.None = 0x0, HostSecurityManagerOptions.HostAppDomainEvidence = 0x1, HostSecurityManagerOptions.HostPolicyLevel = 0x2, HostSecurityManagerOptions.HostAssemblyEvidence = 0x4,
  HostSecurityManagerOptions.HostDetermineApplicationTrust = 0x8, HostSecurityManagerOptions.HostResolvePolicy = 0x10, HostSecurityManagerOptions.AllFlags = 0x1F
}
 Specifies the security policy components to be used by the host security manager. More...
 
enum  ManifestKinds { ManifestKinds.None = 0x0, ManifestKinds.Deployment = 0x1, ManifestKinds.Application = 0x2, ManifestKinds.ApplicationAndDeployment = 0x3 }
 Represents the type of manifest that the signature information applies to. More...
 
enum  PartialTrustVisibilityLevel { PartialTrustVisibilityLevel.VisibleToAllHosts, PartialTrustVisibilityLevel.NotVisibleByDefault }
 Specifies the default partial-trust visibility for code that is marked with the T:System.Security.AllowPartiallyTrustedCallersAttribute (APTCA) attribute. More...
 
enum  PermissionTokenType { Normal = 0x1, IUnrestricted = 0x2, DontKnow = 0x4, BuiltIn = 0x8 }
 
enum  PermissionType {
  SecurityUnmngdCodeAccess = 0, SecuritySkipVerification = 1, ReflectionTypeInfo = 2, SecurityAssert = 3,
  ReflectionMemberAccess = 4, SecuritySerialization = 5, ReflectionRestrictedMemberAccess = 6, FullTrust = 7,
  SecurityBindingRedirects = 8, UIPermission = 9, EnvironmentPermission = 10, FileDialogPermission = 11,
  FileIOPermission = 12, ReflectionPermission = 13, SecurityPermission = 14, SecurityControlEvidence = 0x10,
  SecurityControlPrincipal = 17
}
 
enum  PolicyLevelType { PolicyLevelType.User, PolicyLevelType.Machine, PolicyLevelType.Enterprise, PolicyLevelType.AppDomain }
 Specifies the type of a managed code policy level. More...
 
enum  SecurityContextDisableFlow { Nothing = 0, WI = 1, All = 0x3FFF }
 
enum  SecurityContextSource { SecurityContextSource.CurrentAppDomain, SecurityContextSource.CurrentAssembly }
 Identifies the source for the security context. More...
 
enum  SecurityCriticalScope { SecurityCriticalScope.Explicit, SecurityCriticalScope.Everything }
 Specifies the scope of a T:System.Security.SecurityCriticalAttribute. More...
 
enum  SecurityElementType { Regular, Format, Comment }
 
enum  SecurityRuleSet : byte { SecurityRuleSet.None, SecurityRuleSet.Level1, SecurityRuleSet.Level2 }
 Identifies the set of security rules the common language runtime should enforce for an assembly. More...
 
enum  SecurityZone {
  SecurityZone.MyComputer = 0, SecurityZone.Intranet = 1, SecurityZone.Trusted = 2, SecurityZone.Internet = 3,
  SecurityZone.Untrusted = 4, SecurityZone.NoZone = -1
}
 Defines the integer values corresponding to security zones used by security policy. More...
 
enum  SpecialPermissionSetFlag { Regular, NoSet, EmptySet, SkipVerification }
 
enum  WindowsImpersonationFlowMode { IMP_FASTFLOW = 0, IMP_NOFLOW = 1, IMP_ALWAYSFLOW = 2, IMP_DEFAULT = 0 }
 

Enumeration Type Documentation

◆ HostSecurityManagerOptions

Specifies the security policy components to be used by the host security manager.

Enumerator
None 

Use none of the security policy components.

HostAppDomainEvidence 

Use the application domain evidence.

HostPolicyLevel 

Use the policy level specified in the P:System.Security.HostSecurityManager.DomainPolicy property.

HostAssemblyEvidence 

Use the assembly evidence.

HostDetermineApplicationTrust 

Route calls to the M:System.Security.Policy.ApplicationSecurityManager.DetermineApplicationTrust(System.ActivationContext,System.Security.Policy.TrustManagerContext) method to the M:System.Security.HostSecurityManager.DetermineApplicationTrust(System.Security.Policy.Evidence,System.Security.Policy.Evidence,System.Security.Policy.TrustManagerContext) method first.

HostResolvePolicy 

Use the M:System.Security.HostSecurityManager.ResolvePolicy(System.Security.Policy.Evidence) method to resolve the application evidence.

AllFlags 

Use all security policy components.

Definition at line 9 of file HostSecurityManagerOptions.cs.

◆ ManifestKinds

Represents the type of manifest that the signature information applies to.

Enumerator
None 

The manifest is of no particular type.

Deployment 

The manifest is for deployment only.

Application 

The manifest is for an application.

ApplicationAndDeployment 

The manifest is for deployment and application. The is the default value for verifying signatures.

Definition at line 5 of file ManifestKinds.cs.

◆ PartialTrustVisibilityLevel

Specifies the default partial-trust visibility for code that is marked with the T:System.Security.AllowPartiallyTrustedCallersAttribute (APTCA) attribute.

Enumerator
VisibleToAllHosts 

The assembly can always be called by partial-trust code.

NotVisibleByDefault 

The assembly has been audited for partial trust, but it is not visible to partial-trust code in all hosts. To make the assembly visible to partial-trust code, add it to the P:System.AppDomainSetup.PartialTrustVisibleAssemblies property.

Definition at line 4 of file PartialTrustVisibilityLevel.cs.

◆ PolicyLevelType

Specifies the type of a managed code policy level.

Enumerator
User 

Security policy for all managed code that is run by the user.

Machine 

Security policy for all managed code that is run on the computer.

Enterprise 

Security policy for all managed code in an enterprise.

AppDomain 

Security policy for all managed code in an application.

Definition at line 8 of file PolicyLevelType.cs.

◆ SecurityContextSource

Identifies the source for the security context.

Enumerator
CurrentAppDomain 

The current application domain is the source for the security context.

CurrentAssembly 

The current assembly is the source for the security context.

Definition at line 4 of file SecurityContextSource.cs.

◆ SecurityCriticalScope

Specifies the scope of a T:System.Security.SecurityCriticalAttribute.

Enumerator
Explicit 

The attribute applies only to the immediate target.

Everything 

The attribute applies to all code that follows it.

Definition at line 5 of file SecurityCriticalScope.cs.

◆ SecurityRuleSet

enum System.Security.SecurityRuleSet : byte
strong

Identifies the set of security rules the common language runtime should enforce for an assembly.

Enumerator
None 

Unsupported. Using this value results in a T:System.IO.FileLoadException being thrown.

Level1 

Indicates that the runtime will enforce level 1 (.NET Framework version 2.0) transparency rules.

Level2 

Indicates that the runtime will enforce level 2 transparency rules.

Definition at line 4 of file SecurityRuleSet.cs.

◆ SecurityZone

Defines the integer values corresponding to security zones used by security policy.

Enumerator
MyComputer 

The local computer zone is an implicit zone used for content that exists on the user's computer.

Intranet 

The local intranet zone is used for content located on a company's intranet. Because the servers and information would be within a company's firewall, a user or company could assign a higher trust level to the content on the intranet.

Trusted 

The trusted sites zone is used for content located on Web sites considered more reputable or trustworthy than other sites on the Internet. Users can use this zone to assign a higher trust level to these sites to minimize the number of authentication requests. The URLs of these trusted Web sites need to be mapped into this zone by the user.

Internet 

The Internet zone is used for the Web sites on the Internet that do not belong to another zone.

Untrusted 

The restricted sites zone is used for Web sites with content that could cause, or could have caused, problems when downloaded. The URLs of these untrusted Web sites need to be mapped into this zone by the user.

NoZone 

No zone is specified.

Definition at line 8 of file SecurityZone.cs.