StoreName Enumeration
.NET Framework 4.5
Specifies the name of the X.509 certificate store to open.
Namespace: System.Security.Cryptography.X509Certificates
Assembly: System (in System.dll)
| Member name | Description | |
|---|---|---|
| AddressBook | The X.509 certificate store for other users. | |
| AuthRoot | The X.509 certificate store for third-party certificate authorities (CAs). | |
| CertificateAuthority | The X.509 certificate store for intermediate certificate authorities (CAs). | |
| Disallowed | The X.509 certificate store for revoked certificates. | |
| My | The X.509 certificate store for personal certificates. | |
| Root | The X.509 certificate store for trusted root certificate authorities (CAs). | |
| TrustedPeople | The X.509 certificate store for directly trusted people and resources. | |
| TrustedPublisher | The X.509 certificate store for directly trusted publishers. |
The following code example opens an X.509 certificate store, adds and deletes certificates, and then closes the store. It assumes you have three certificates to add to and remove from a local store.
using System; using System.Security.Cryptography; using System.Security.Cryptography.X509Certificates; using System.IO; public class X509store2 { public static void Main(string[] args) { //Create new X509 store called teststore from the local certificate store. X509Store store = new X509Store(StoreName.My); store.Open(OpenFlags.ReadWrite); X509Certificate2 certificate = new X509Certificate2(); //Create certificates from certificate files. //You must put in a valid path to three certificates in the following constructors. X509Certificate2 certificate1 = new X509Certificate2("c:\\mycerts\\*****.cer"); X509Certificate2 certificate2 = new X509Certificate2("c:\\mycerts\\*****.cer"); X509Certificate2 certificate5 = new X509Certificate2("c:\\mycerts\\*****.cer"); //Create a collection and add two of the certificates. X509Certificate2Collection collection = new X509Certificate2Collection(); collection.Add(certificate2); collection.Add(certificate5); //Add certificates to the store. store.Add(certificate1); store.AddRange(collection); X509Certificate2Collection storecollection = (X509Certificate2Collection)store.Certificates; Console.WriteLine("Store name: {0}", store.Name); Console.WriteLine("Store location: {0}", store.Location); foreach (X509Certificate2 x509 in storecollection) { Console.WriteLine("certificate name: {0}", x509.Subject); } //Remove a certificate. store.Remove(certificate1); X509Certificate2Collection storecollection2 = (X509Certificate2Collection)store.Certificates; Console.WriteLine("{1}Store name: {0}", store.Name, Environment.NewLine); foreach (X509Certificate2 x509 in storecollection2) { Console.WriteLine("certificate name: {0}", x509.Subject); } //Remove a range of certificates. store.RemoveRange(collection); X509Certificate2Collection storecollection3 = (X509Certificate2Collection)store.Certificates; Console.WriteLine("{1}Store name: {0}", store.Name, Environment.NewLine); if (storecollection3.Count == 0) { Console.WriteLine("Store contains no certificates."); } else { foreach (X509Certificate2 x509 in storecollection3) { Console.WriteLine("certificate name: {0}", x509.Subject); } } //Close the store. store.Close(); } }
Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.