System.Security Namespaces


The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

The System.Security namespaces contain classes that represent the .NET Framework security system and permissions. Child namespaces provide types that control access to and audit securable objects, allow authentication, provide crytographic services, control access to operations and resources based on policy, and support rights management of application-created content.


The System.Security namespace provides the underlying structure of the common language runtime security system, including base classes for permissions.


The System.Security.AccessControl namespace provides programming elements that control access to and audit security-related actions on securable objects.


The Authentication namespace provides a set of enumerations that describe the security of a connection. These enumerations include CipherAlgorithmType, ExchangeAlgorithmType, HashAlgorithmType, and SslProtocols.


The System.Security.Authentication.ExtendedProtection namespace provides support for authentication using extended protection for applications.


The System.Security.Authentication.ExtendedProtection.Configuration namespace provides support for configuration of authentication using extended protection for applications.


Contains classes that implement claims-based identity in the .NET Framework, including classes that represent claims, claims-based identities, and claims-based principals.


The System.Security.Cryptography namespace provides cryptographic services, including secure encoding and decoding of data, as well as many other operations, such as hashing, random number generation, and message authentication. For more information, see Cryptographic Services.


The System.Security.Cryptography.Pkcs namespace provides programming elements for Public Key Cryptography Standards (PKCS), including methods for signing data, exchanging keys, requesting certificates, public key encryption and decryption, and other security functions.


The System.Security.Cryptography.X509Certificates namespace contains the common language runtime implementation of the Authenticode X.509 v.3 certificate. This certificate is signed with a private key that uniquely and positively identifies the holder of the certificate.


The System.Security.Cryptography.Xml namespace contains classes to support the creation and validation of XML digital signatures. The classes in this namespace implement the World Wide Web Consortium Recommendation, "XML-Signature Syntax and Processing", described at


The System.Security.Permissions namespace defines classes that control access to operations and resources based on policy.


The System.Security.Policy namespace contains code groups, membership conditions, and evidence. These three types of classes are used to create the rules applied by the common language runtime security policy system. Evidence classes are the input to security policy and membership conditions are the switches; together these create policy statements and determine the granted permission set. Policy levels and code groups are the structure of the policy hierarchy. Code groups are the encapsulation of a rule and are arranged hierarchically in a policy level.


The System.Security.Principal namespace defines a principal object that represents the security context under which code is running. For more information, see Role-Based Security.


Provides types to support rights management of application-created content such as that stored in a Package or XpsDocument.

Return to top