Exporter (0) Imprimer
Développer tout

X509Store.Open, méthode

Mise à jour : novembre 2007

Ouvre un magasin de certificats X.509 ou crée un nouveau magasin, selon les paramètres des indicateurs OpenFlags.

Espace de noms :  System.Security.Cryptography.X509Certificates
Assembly :  System (dans System.dll)

public void Open(
	OpenFlags flags
)
public void Open(
	OpenFlags flags
)
public function Open(
	flags : OpenFlags
)

Paramètres

flags
Type : System.Security.Cryptography.X509Certificates.OpenFlags

Une des valeurs de OpenFlags.

ExceptionCondition
CryptographicException

Le magasin est illisible.

SecurityException

L'appelant n'a pas l'autorisation requise.

ArgumentException

Le magasin contient des valeurs non valides.

Utilisez cette méthode pour ouvrir un magasin X.509 existant. Notez que vous devez avoir des autorisations supplémentaires, spécifiées par StorePermissionFlags, pour énumérer les certificats du magasin. Pour créer un nouveau magasin, vous pouvez passer au constructeur de classe un nom de magasin qui n'existe pas, puis utiliser un des indicateurs OpenFlags, sauf OpenExistingOnly.

Remarque sur la plateforme Windows Mobile pour Pocket PC, Windows Mobile pour Smartphone, Windows CE :

Windows CE ne crée pas de nouveau magasin si l'indicateur ReadOnly a la valeur true.

L'exemple de code suivant ouvre un magasin de certificats X.509, ajoute et supprime des certificats, puis ferme le magasin. Cela suppose que vous avez trois certificats à ajouter et à supprimer dans un magasin local.

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 ("teststore", StoreLocation.CurrentUser);
		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 ();
	}	
}


import System.*;
import System.Security.Cryptography.*;
import System.Security.Cryptography.X509Certificates.*;
import 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("teststore", StoreLocation.CurrentUser);
        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.get_Certificates();
        Console.WriteLine("Store name: {0}", store.get_Name());
        Console.WriteLine("Store location: {0}", store.get_Location());
        for (int iCtr = 0; iCtr < storecollection.get_Count(); iCtr++) {
            X509Certificate2 x509 = storecollection.get_Item(iCtr);
            Console.WriteLine("certificate name: {0}", x509.get_Subject());
        }
        //Remove a certificate.
        store.Remove(certificate1);
        X509Certificate2Collection storecollection2 = 
            (X509Certificate2Collection)store.get_Certificates();
        Console.WriteLine("{1}Store name: {0}", store.get_Name(),
            Environment.get_NewLine());
        for (int iCtr = 0; iCtr < storecollection2.get_Count(); iCtr++) {
            X509Certificate2 x509 = storecollection2.get_Item(iCtr);
            Console.WriteLine("certificate name: {0}", x509.get_Subject());
        }
        //Remove a range of certificates.
        store.RemoveRange(collection);
        X509Certificate2Collection storecollection3 =
            (X509Certificate2Collection)store.get_Certificates();
        Console.WriteLine("{1}Store name: {0}", store.get_Name(), 
            Environment.get_NewLine());
        if (storecollection3.get_Count() == 0) {
            Console.WriteLine("Store contains no certificates.");
        }
        else {
            for (int iCtr = 0; iCtr < storecollection3.get_Count(); iCtr++) {
                X509Certificate2 x509 = storecollection3.get_Item(iCtr);
                Console.WriteLine("certificate name: {0}", x509.get_Subject());
            }
        }
        //Close the store.
        store.Close();
    } //main
} //X509store2


Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professionnel Édition x64, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile pour Smartphone, Windows Mobile pour Pocket PC

Le .NET Framework et le .NET Compact Framework ne prennent pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.

.NET Framework

Pris en charge dans : 3.5, 3.0, 2.0

.NET Compact Framework

Pris en charge dans : 3.5

Ajouts de la communauté

AJOUTER
Afficher:
© 2014 Microsoft