X509Store 构造函数
定义
重载
| X509Store() |
使用当前用户的个人证书存储来初始化 X509Store 类的新实例。Initializes a new instance of the X509Store class using the personal certificates store of the current user. |
| X509Store(IntPtr) |
使用 |
| X509Store(StoreLocation) |
使用指定存储位置值中的个人证书存储初始化 X509Store 类的新实例。Initializes a new instance of the X509Store class using the personal certificate store from the specified store location value. |
| X509Store(StoreName) |
使用当前用户的证书存储的指定存储名称初始化 X509Store 类的新实例。Initializes a new instance of the X509Store class using the specified store name from the current user's certificate stores. |
| X509Store(String) |
使用指定的存储名称来初始化 X509Store 类的新实例。Initializes a new instance of the X509Store class using the specified store name. |
| X509Store(StoreName, StoreLocation) |
使用指定的 StoreName 和 StoreLocation 值来初始化 X509Store 类的新实例。Initializes a new instance of the X509Store class using the specified StoreName and StoreLocation values. |
| X509Store(String, StoreLocation) |
使用指定的存储名称和存储位置初始化 X509Store 类的新实例。Initializes a new instance of the X509Store class using a specified store name and store location. |
| X509Store(StoreName, StoreLocation, OpenFlags) |
使用指定的存储名称和存储位置值初始化 X509Store 类的新实例,然后使用指定的标志打开它。Initializes a new instance of the X509Store class using the specified store name and store location values, then opens it using the specified flags. |
| X509Store(String, StoreLocation, OpenFlags) |
使用指定的存储名称和存储位置值初始化 X509Store 类的新实例,然后使用指定的标志打开它。Initializes a new instance of the X509Store class using the specified store name and store location values, then opens it using the specified flags. |
X509Store()
public:
X509Store();
public X509Store ();
Public Sub New ()
示例
下面的代码示例打开 x.509 证书存储区,添加并删除证书,然后关闭存储区。The following code example opens an X.509 certificate store, adds and deletes certificates, and then closes the store. 它假定你有三个要在本地存储区中添加和删除的证书。It assumes that you have three certificates to add to and remove from a local store.
#using <System.dll>
#using <System.Security.dll>
using namespace System;
using namespace System::Security::Cryptography;
using namespace System::Security::Cryptography::X509Certificates;
using namespace System::IO;
int main()
{
//Create new X509 store called teststore from the local certificate store.
X509Store ^ store = gcnew X509Store( "teststore",StoreLocation::CurrentUser );
store->Open( OpenFlags::ReadWrite );
X509Certificate2 ^ certificate = gcnew X509Certificate2;
//Create certificates from certificate files.
//You must put in a valid path to three certificates in the following constructors.
X509Certificate2 ^ certificate1 = gcnew X509Certificate2( "c:\\mycerts\\*****.cer" );
X509Certificate2 ^ certificate2 = gcnew X509Certificate2( "c:\\mycerts\\*****.cer" );
X509Certificate2 ^ certificate5 = gcnew X509Certificate2( "c:\\mycerts\\*****.cer" );
//Create a collection and add two of the certificates.
X509Certificate2Collection ^ collection = gcnew X509Certificate2Collection;
collection->Add( certificate2 );
collection->Add( certificate5 );
//Add certificates to the store.
store->Add( certificate1 );
store->AddRange( collection );
X509Certificate2Collection ^ storecollection = dynamic_cast<X509Certificate2Collection^>(store->Certificates);
Console::WriteLine( "Store name: {0}", store->Name );
Console::WriteLine( "Store location: {0}", store->Location );
System::Collections::IEnumerator^ myEnum = storecollection->GetEnumerator();
while ( myEnum->MoveNext() )
{
X509Certificate2 ^ x509 = safe_cast<X509Certificate2 ^>(myEnum->Current);
Console::WriteLine( "certificate name: {0}", x509->Subject );
}
//Remove a certificate.
store->Remove( certificate1 );
X509Certificate2Collection ^ storecollection2 = dynamic_cast<X509Certificate2Collection^>(store->Certificates);
Console::WriteLine( "{1}Store name: {0}", store->Name, Environment::NewLine );
System::Collections::IEnumerator^ myEnum1 = storecollection2->GetEnumerator();
while ( myEnum1->MoveNext() )
{
X509Certificate2 ^ x509 = safe_cast<X509Certificate2 ^>(myEnum1->Current);
Console::WriteLine( "certificate name: {0}", x509->Subject );
}
//Remove a range of certificates.
store->RemoveRange( collection );
X509Certificate2Collection ^ storecollection3 = dynamic_cast<X509Certificate2Collection^>(store->Certificates);
Console::WriteLine( "{1}Store name: {0}", store->Name, Environment::NewLine );
if ( storecollection3->Count == 0 )
{
Console::WriteLine( "Store contains no certificates." );
}
else
{
System::Collections::IEnumerator^ myEnum2 = storecollection3->GetEnumerator();
while ( myEnum2->MoveNext() )
{
X509Certificate2 ^ x509 = safe_cast<X509Certificate2 ^>(myEnum2->Current);
Console::WriteLine( "certificate name: {0}", x509->Subject );
}
}
//Close the store.
store->Close();
}
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 ();
}
}
Imports System.Security.Cryptography
Imports System.Security.Cryptography.X509Certificates
Imports System.IO
Class X509store2
Shared Sub Main(ByVal args() As String)
'Create new X509 store called teststore from the local certificate store.
Dim store As New X509Store("teststore", StoreLocation.CurrentUser)
store.Open(OpenFlags.ReadWrite)
Dim certificate As New X509Certificate2()
'Create certificates from certificate files.
'You must put in a valid path to three certificates in the following constructors.
Dim certificate1 As New X509Certificate2("c:\mycerts\*****.cer")
Dim certificate2 As New X509Certificate2("c:\mycerts\*****.cer")
Dim certificate5 As New X509Certificate2("c:\mycerts\*****.cer")
'Create a collection and add two of the certificates.
Dim collection As New X509Certificate2Collection()
collection.Add(certificate2)
collection.Add(certificate5)
'Add certificates to the store.
store.Add(certificate1)
store.AddRange(collection)
Dim storecollection As X509Certificate2Collection = CType(store.Certificates, X509Certificate2Collection)
Console.WriteLine("Store name: {0}", store.Name)
Console.WriteLine("Store location: {0}", store.Location)
Dim x509 As X509Certificate2
For Each x509 In storecollection
Console.WriteLine("certificate name: {0}", x509.Subject)
Next x509
'Remove a certificate.
store.Remove(certificate1)
Dim storecollection2 As X509Certificate2Collection = CType(store.Certificates, X509Certificate2Collection)
Console.WriteLine("{1}Store name: {0}", store.Name, Environment.NewLine)
Dim x509a As X509Certificate2
For Each x509a In storecollection2
Console.WriteLine("certificate name: {0}", x509a.Subject)
Next x509a
'Remove a range of certificates.
store.RemoveRange(collection)
Dim storecollection3 As X509Certificate2Collection = CType(store.Certificates, X509Certificate2Collection)
Console.WriteLine("{1}Store name: {0}", store.Name, Environment.NewLine)
If storecollection3.Count = 0 Then
Console.WriteLine("Store contains no certificates.")
Else
Dim x509b As X509Certificate2
For Each x509b In storecollection3
Console.WriteLine("certificate name: {0}", x509b.Subject)
Next x509b
End If
'Close the store.
store.Close()
End Sub
End Class
注解
使用此构造函数创建一个 X509Store 对象,该对象使用当前用户的个人 x.509 证书存储区。Use this constructor to create an X509Store object using the personal X.509 certificate store for the current user.
适用于
X509Store(IntPtr)
public:
X509Store(IntPtr storeHandle);
public X509Store (IntPtr storeHandle);
new System.Security.Cryptography.X509Certificates.X509Store : nativeint -> System.Security.Cryptography.X509Certificates.X509Store
Public Sub New (storeHandle As IntPtr)
参数
- storeHandle
- IntPtr
HCERTSTORE 存储的句柄。A handle to an HCERTSTORE store.
例外
storeHandle 参数为 null。The storeHandle parameter is null.
storeHandle 参数指向无效的上下文。The storeHandle parameter points to an invalid context.
注解
使用此构造函数提供与非托管的 Microsoft 加密 API (CAPI) 的兼容性。Use this constructor to provide compatibility with the unmanaged Microsoft Cryptographic API (CAPI).
适用于
X509Store(StoreLocation)
public:
X509Store(System::Security::Cryptography::X509Certificates::StoreLocation storeLocation);
public X509Store (System.Security.Cryptography.X509Certificates.StoreLocation storeLocation);
new System.Security.Cryptography.X509Certificates.X509Store : System.Security.Cryptography.X509Certificates.StoreLocation -> System.Security.Cryptography.X509Certificates.X509Store
Public Sub New (storeLocation As StoreLocation)
参数
- storeLocation
- StoreLocation
指定 X.509 证书存储位置的枚举值之一。One of the enumeration values that specifies the location of the X.509 certificate store.
示例
下面的代码示例打开 x.509 证书存储区,添加并删除证书,然后关闭存储区。The following code example opens an X.509 certificate store, adds and deletes certificates, and then closes the store. 它假定你有三个要在本地存储区中添加和删除的证书。It assumes that you have three certificates to add to and remove from a local store.
#using <System.dll>
#using <System.Security.dll>
using namespace System;
using namespace System::Security::Cryptography;
using namespace System::Security::Cryptography::X509Certificates;
using namespace System::IO;
int main()
{
//Create new X509 store called teststore from the local certificate store.
X509Store ^ store = gcnew X509Store( "teststore",StoreLocation::CurrentUser );
store->Open( OpenFlags::ReadWrite );
X509Certificate2 ^ certificate = gcnew X509Certificate2;
//Create certificates from certificate files.
//You must put in a valid path to three certificates in the following constructors.
X509Certificate2 ^ certificate1 = gcnew X509Certificate2( "c:\\mycerts\\*****.cer" );
X509Certificate2 ^ certificate2 = gcnew X509Certificate2( "c:\\mycerts\\*****.cer" );
X509Certificate2 ^ certificate5 = gcnew X509Certificate2( "c:\\mycerts\\*****.cer" );
//Create a collection and add two of the certificates.
X509Certificate2Collection ^ collection = gcnew X509Certificate2Collection;
collection->Add( certificate2 );
collection->Add( certificate5 );
//Add certificates to the store.
store->Add( certificate1 );
store->AddRange( collection );
X509Certificate2Collection ^ storecollection = dynamic_cast<X509Certificate2Collection^>(store->Certificates);
Console::WriteLine( "Store name: {0}", store->Name );
Console::WriteLine( "Store location: {0}", store->Location );
System::Collections::IEnumerator^ myEnum = storecollection->GetEnumerator();
while ( myEnum->MoveNext() )
{
X509Certificate2 ^ x509 = safe_cast<X509Certificate2 ^>(myEnum->Current);
Console::WriteLine( "certificate name: {0}", x509->Subject );
}
//Remove a certificate.
store->Remove( certificate1 );
X509Certificate2Collection ^ storecollection2 = dynamic_cast<X509Certificate2Collection^>(store->Certificates);
Console::WriteLine( "{1}Store name: {0}", store->Name, Environment::NewLine );
System::Collections::IEnumerator^ myEnum1 = storecollection2->GetEnumerator();
while ( myEnum1->MoveNext() )
{
X509Certificate2 ^ x509 = safe_cast<X509Certificate2 ^>(myEnum1->Current);
Console::WriteLine( "certificate name: {0}", x509->Subject );
}
//Remove a range of certificates.
store->RemoveRange( collection );
X509Certificate2Collection ^ storecollection3 = dynamic_cast<X509Certificate2Collection^>(store->Certificates);
Console::WriteLine( "{1}Store name: {0}", store->Name, Environment::NewLine );
if ( storecollection3->Count == 0 )
{
Console::WriteLine( "Store contains no certificates." );
}
else
{
System::Collections::IEnumerator^ myEnum2 = storecollection3->GetEnumerator();
while ( myEnum2->MoveNext() )
{
X509Certificate2 ^ x509 = safe_cast<X509Certificate2 ^>(myEnum2->Current);
Console::WriteLine( "certificate name: {0}", x509->Subject );
}
}
//Close the store.
store->Close();
}
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 ();
}
}
Imports System.Security.Cryptography
Imports System.Security.Cryptography.X509Certificates
Imports System.IO
Class X509store2
Shared Sub Main(ByVal args() As String)
'Create new X509 store called teststore from the local certificate store.
Dim store As New X509Store("teststore", StoreLocation.CurrentUser)
store.Open(OpenFlags.ReadWrite)
Dim certificate As New X509Certificate2()
'Create certificates from certificate files.
'You must put in a valid path to three certificates in the following constructors.
Dim certificate1 As New X509Certificate2("c:\mycerts\*****.cer")
Dim certificate2 As New X509Certificate2("c:\mycerts\*****.cer")
Dim certificate5 As New X509Certificate2("c:\mycerts\*****.cer")
'Create a collection and add two of the certificates.
Dim collection As New X509Certificate2Collection()
collection.Add(certificate2)
collection.Add(certificate5)
'Add certificates to the store.
store.Add(certificate1)
store.AddRange(collection)
Dim storecollection As X509Certificate2Collection = CType(store.Certificates, X509Certificate2Collection)
Console.WriteLine("Store name: {0}", store.Name)
Console.WriteLine("Store location: {0}", store.Location)
Dim x509 As X509Certificate2
For Each x509 In storecollection
Console.WriteLine("certificate name: {0}", x509.Subject)
Next x509
'Remove a certificate.
store.Remove(certificate1)
Dim storecollection2 As X509Certificate2Collection = CType(store.Certificates, X509Certificate2Collection)
Console.WriteLine("{1}Store name: {0}", store.Name, Environment.NewLine)
Dim x509a As X509Certificate2
For Each x509a In storecollection2
Console.WriteLine("certificate name: {0}", x509a.Subject)
Next x509a
'Remove a range of certificates.
store.RemoveRange(collection)
Dim storecollection3 As X509Certificate2Collection = CType(store.Certificates, X509Certificate2Collection)
Console.WriteLine("{1}Store name: {0}", store.Name, Environment.NewLine)
If storecollection3.Count = 0 Then
Console.WriteLine("Store contains no certificates.")
Else
Dim x509b As X509Certificate2
For Each x509b In storecollection3
Console.WriteLine("certificate name: {0}", x509b.Subject)
Next x509b
End If
'Close the store.
store.Close()
End Sub
End Class
注解
使用此构造函数创建一个 X509Store 对象,并指定存储位置,该位置是当前用户或本地计算机的位置。Use this constructor to create an X509Store object, specifying the store location, which is either the location for the current user or the local computer.
适用于
X509Store(StoreName)
public:
X509Store(System::Security::Cryptography::X509Certificates::StoreName storeName);
public X509Store (System.Security.Cryptography.X509Certificates.StoreName storeName);
new System.Security.Cryptography.X509Certificates.X509Store : System.Security.Cryptography.X509Certificates.StoreName -> System.Security.Cryptography.X509Certificates.X509Store
Public Sub New (storeName As StoreName)
参数
- storeName
- StoreName
指定 X.509 证书存储的名称的枚举值之一。One of the enumeration values that specifies the name of the X.509 certificate store.
例外
storeName 不是有效的名称。storeName is not a valid name.
示例
下面的代码示例打开 x.509 证书存储区,添加并删除证书,然后关闭存储区。The following code example opens an X.509 certificate store, adds and deletes certificates, and then closes the store. 它假定你有三个要在本地存储区中添加和删除的证书。It assumes that you have three certificates to add to and remove from a local store.
#using <System.dll>
#using <System.Security.dll>
using namespace System;
using namespace System::Security::Cryptography;
using namespace System::Security::Cryptography::X509Certificates;
using namespace System::IO;
int main()
{
//Create new X509 store called teststore from the local certificate store.
X509Store ^ store = gcnew X509Store( "teststore",StoreLocation::CurrentUser );
store->Open( OpenFlags::ReadWrite );
X509Certificate2 ^ certificate = gcnew X509Certificate2;
//Create certificates from certificate files.
//You must put in a valid path to three certificates in the following constructors.
X509Certificate2 ^ certificate1 = gcnew X509Certificate2( "c:\\mycerts\\*****.cer" );
X509Certificate2 ^ certificate2 = gcnew X509Certificate2( "c:\\mycerts\\*****.cer" );
X509Certificate2 ^ certificate5 = gcnew X509Certificate2( "c:\\mycerts\\*****.cer" );
//Create a collection and add two of the certificates.
X509Certificate2Collection ^ collection = gcnew X509Certificate2Collection;
collection->Add( certificate2 );
collection->Add( certificate5 );
//Add certificates to the store.
store->Add( certificate1 );
store->AddRange( collection );
X509Certificate2Collection ^ storecollection = dynamic_cast<X509Certificate2Collection^>(store->Certificates);
Console::WriteLine( "Store name: {0}", store->Name );
Console::WriteLine( "Store location: {0}", store->Location );
System::Collections::IEnumerator^ myEnum = storecollection->GetEnumerator();
while ( myEnum->MoveNext() )
{
X509Certificate2 ^ x509 = safe_cast<X509Certificate2 ^>(myEnum->Current);
Console::WriteLine( "certificate name: {0}", x509->Subject );
}
//Remove a certificate.
store->Remove( certificate1 );
X509Certificate2Collection ^ storecollection2 = dynamic_cast<X509Certificate2Collection^>(store->Certificates);
Console::WriteLine( "{1}Store name: {0}", store->Name, Environment::NewLine );
System::Collections::IEnumerator^ myEnum1 = storecollection2->GetEnumerator();
while ( myEnum1->MoveNext() )
{
X509Certificate2 ^ x509 = safe_cast<X509Certificate2 ^>(myEnum1->Current);
Console::WriteLine( "certificate name: {0}", x509->Subject );
}
//Remove a range of certificates.
store->RemoveRange( collection );
X509Certificate2Collection ^ storecollection3 = dynamic_cast<X509Certificate2Collection^>(store->Certificates);
Console::WriteLine( "{1}Store name: {0}", store->Name, Environment::NewLine );
if ( storecollection3->Count == 0 )
{
Console::WriteLine( "Store contains no certificates." );
}
else
{
System::Collections::IEnumerator^ myEnum2 = storecollection3->GetEnumerator();
while ( myEnum2->MoveNext() )
{
X509Certificate2 ^ x509 = safe_cast<X509Certificate2 ^>(myEnum2->Current);
Console::WriteLine( "certificate name: {0}", x509->Subject );
}
}
//Close the store.
store->Close();
}
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 ();
}
}
Imports System.Security.Cryptography
Imports System.Security.Cryptography.X509Certificates
Imports System.IO
Class X509store2
Shared Sub Main(ByVal args() As String)
'Create new X509 store called teststore from the local certificate store.
Dim store As New X509Store("teststore", StoreLocation.CurrentUser)
store.Open(OpenFlags.ReadWrite)
Dim certificate As New X509Certificate2()
'Create certificates from certificate files.
'You must put in a valid path to three certificates in the following constructors.
Dim certificate1 As New X509Certificate2("c:\mycerts\*****.cer")
Dim certificate2 As New X509Certificate2("c:\mycerts\*****.cer")
Dim certificate5 As New X509Certificate2("c:\mycerts\*****.cer")
'Create a collection and add two of the certificates.
Dim collection As New X509Certificate2Collection()
collection.Add(certificate2)
collection.Add(certificate5)
'Add certificates to the store.
store.Add(certificate1)
store.AddRange(collection)
Dim storecollection As X509Certificate2Collection = CType(store.Certificates, X509Certificate2Collection)
Console.WriteLine("Store name: {0}", store.Name)
Console.WriteLine("Store location: {0}", store.Location)
Dim x509 As X509Certificate2
For Each x509 In storecollection
Console.WriteLine("certificate name: {0}", x509.Subject)
Next x509
'Remove a certificate.
store.Remove(certificate1)
Dim storecollection2 As X509Certificate2Collection = CType(store.Certificates, X509Certificate2Collection)
Console.WriteLine("{1}Store name: {0}", store.Name, Environment.NewLine)
Dim x509a As X509Certificate2
For Each x509a In storecollection2
Console.WriteLine("certificate name: {0}", x509a.Subject)
Next x509a
'Remove a range of certificates.
store.RemoveRange(collection)
Dim storecollection3 As X509Certificate2Collection = CType(store.Certificates, X509Certificate2Collection)
Console.WriteLine("{1}Store name: {0}", store.Name, Environment.NewLine)
If storecollection3.Count = 0 Then
Console.WriteLine("Store contains no certificates.")
Else
Dim x509b As X509Certificate2
For Each x509b In storecollection3
Console.WriteLine("certificate name: {0}", x509b.Subject)
Next x509b
End If
'Close the store.
store.Close()
End Sub
End Class
注解
使用此构造函数为当前用户创建与枚举的值相对应的 x.509 存储 StoreName 。Use this constructor to create an X.509 store for the current user that corresponds to values enumerated by StoreName.
适用于
X509Store(String)
public:
X509Store(System::String ^ storeName);
public X509Store (string storeName);
new System.Security.Cryptography.X509Certificates.X509Store : string -> System.Security.Cryptography.X509Certificates.X509Store
Public Sub New (storeName As String)
参数
- storeName
- String
证书存储的名称。The name of the certificate store.
示例
下面的代码示例打开 x.509 证书存储区,添加并删除证书,然后关闭存储区。The following code example opens an X.509 certificate store, adds and deletes certificates, and then closes the store. 它假定你有三个要在本地存储区中添加和删除的证书。It assumes that you have three certificates to add to and remove from a local store.
#using <System.dll>
#using <System.Security.dll>
using namespace System;
using namespace System::Security::Cryptography;
using namespace System::Security::Cryptography::X509Certificates;
using namespace System::IO;
int main()
{
//Create new X509 store called teststore from the local certificate store.
X509Store ^ store = gcnew X509Store( "teststore",StoreLocation::CurrentUser );
store->Open( OpenFlags::ReadWrite );
X509Certificate2 ^ certificate = gcnew X509Certificate2;
//Create certificates from certificate files.
//You must put in a valid path to three certificates in the following constructors.
X509Certificate2 ^ certificate1 = gcnew X509Certificate2( "c:\\mycerts\\*****.cer" );
X509Certificate2 ^ certificate2 = gcnew X509Certificate2( "c:\\mycerts\\*****.cer" );
X509Certificate2 ^ certificate5 = gcnew X509Certificate2( "c:\\mycerts\\*****.cer" );
//Create a collection and add two of the certificates.
X509Certificate2Collection ^ collection = gcnew X509Certificate2Collection;
collection->Add( certificate2 );
collection->Add( certificate5 );
//Add certificates to the store.
store->Add( certificate1 );
store->AddRange( collection );
X509Certificate2Collection ^ storecollection = dynamic_cast<X509Certificate2Collection^>(store->Certificates);
Console::WriteLine( "Store name: {0}", store->Name );
Console::WriteLine( "Store location: {0}", store->Location );
System::Collections::IEnumerator^ myEnum = storecollection->GetEnumerator();
while ( myEnum->MoveNext() )
{
X509Certificate2 ^ x509 = safe_cast<X509Certificate2 ^>(myEnum->Current);
Console::WriteLine( "certificate name: {0}", x509->Subject );
}
//Remove a certificate.
store->Remove( certificate1 );
X509Certificate2Collection ^ storecollection2 = dynamic_cast<X509Certificate2Collection^>(store->Certificates);
Console::WriteLine( "{1}Store name: {0}", store->Name, Environment::NewLine );
System::Collections::IEnumerator^ myEnum1 = storecollection2->GetEnumerator();
while ( myEnum1->MoveNext() )
{
X509Certificate2 ^ x509 = safe_cast<X509Certificate2 ^>(myEnum1->Current);
Console::WriteLine( "certificate name: {0}", x509->Subject );
}
//Remove a range of certificates.
store->RemoveRange( collection );
X509Certificate2Collection ^ storecollection3 = dynamic_cast<X509Certificate2Collection^>(store->Certificates);
Console::WriteLine( "{1}Store name: {0}", store->Name, Environment::NewLine );
if ( storecollection3->Count == 0 )
{
Console::WriteLine( "Store contains no certificates." );
}
else
{
System::Collections::IEnumerator^ myEnum2 = storecollection3->GetEnumerator();
while ( myEnum2->MoveNext() )
{
X509Certificate2 ^ x509 = safe_cast<X509Certificate2 ^>(myEnum2->Current);
Console::WriteLine( "certificate name: {0}", x509->Subject );
}
}
//Close the store.
store->Close();
}
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 ();
}
}
Imports System.Security.Cryptography
Imports System.Security.Cryptography.X509Certificates
Imports System.IO
Class X509store2
Shared Sub Main(ByVal args() As String)
'Create new X509 store called teststore from the local certificate store.
Dim store As New X509Store("teststore", StoreLocation.CurrentUser)
store.Open(OpenFlags.ReadWrite)
Dim certificate As New X509Certificate2()
'Create certificates from certificate files.
'You must put in a valid path to three certificates in the following constructors.
Dim certificate1 As New X509Certificate2("c:\mycerts\*****.cer")
Dim certificate2 As New X509Certificate2("c:\mycerts\*****.cer")
Dim certificate5 As New X509Certificate2("c:\mycerts\*****.cer")
'Create a collection and add two of the certificates.
Dim collection As New X509Certificate2Collection()
collection.Add(certificate2)
collection.Add(certificate5)
'Add certificates to the store.
store.Add(certificate1)
store.AddRange(collection)
Dim storecollection As X509Certificate2Collection = CType(store.Certificates, X509Certificate2Collection)
Console.WriteLine("Store name: {0}", store.Name)
Console.WriteLine("Store location: {0}", store.Location)
Dim x509 As X509Certificate2
For Each x509 In storecollection
Console.WriteLine("certificate name: {0}", x509.Subject)
Next x509
'Remove a certificate.
store.Remove(certificate1)
Dim storecollection2 As X509Certificate2Collection = CType(store.Certificates, X509Certificate2Collection)
Console.WriteLine("{1}Store name: {0}", store.Name, Environment.NewLine)
Dim x509a As X509Certificate2
For Each x509a In storecollection2
Console.WriteLine("certificate name: {0}", x509a.Subject)
Next x509a
'Remove a range of certificates.
store.RemoveRange(collection)
Dim storecollection3 As X509Certificate2Collection = CType(store.Certificates, X509Certificate2Collection)
Console.WriteLine("{1}Store name: {0}", store.Name, Environment.NewLine)
If storecollection3.Count = 0 Then
Console.WriteLine("Store contains no certificates.")
Else
Dim x509b As X509Certificate2
For Each x509b In storecollection3
Console.WriteLine("certificate name: {0}", x509b.Subject)
Next x509b
End If
'Close the store.
store.Close()
End Sub
End Class
注解
使用此构造函数创建一个 X509Store 对象,该对象使用当前用户的特定 x.509 存储区名称。Use this constructor to create an X509Store object using a particular X.509 store name for the current user. 若要创建新的存储,请指定不存在的名称。To create a new store, specify a name that does not exist. 将使用该名称创建一个新的存储区。A new store will be created with that name.
适用于
X509Store(StoreName, StoreLocation)
使用指定的 StoreName 和 StoreLocation 值来初始化 X509Store 类的新实例。Initializes a new instance of the X509Store class using the specified StoreName and StoreLocation values.
public:
X509Store(System::Security::Cryptography::X509Certificates::StoreName storeName, System::Security::Cryptography::X509Certificates::StoreLocation storeLocation);
public X509Store (System.Security.Cryptography.X509Certificates.StoreName storeName, System.Security.Cryptography.X509Certificates.StoreLocation storeLocation);
new System.Security.Cryptography.X509Certificates.X509Store : System.Security.Cryptography.X509Certificates.StoreName * System.Security.Cryptography.X509Certificates.StoreLocation -> System.Security.Cryptography.X509Certificates.X509Store
Public Sub New (storeName As StoreName, storeLocation As StoreLocation)
参数
- storeName
- StoreName
指定 X.509 证书存储的名称的枚举值之一。One of the enumeration values that specifies the name of the X.509 certificate store.
- storeLocation
- StoreLocation
指定 X.509 证书存储位置的枚举值之一。One of the enumeration values that specifies the location of the X.509 certificate store.
例外
storeLocation 不是有效位置或者 storeName 不是有效名称。storeLocation is not a valid location or storeName is not a valid name.
示例
下面的代码示例打开 x.509 证书存储区,添加并删除证书,然后关闭存储区。The following code example opens an X.509 certificate store, adds and deletes certificates, and then closes the store. 它假定你有三个要在本地存储区中添加和删除的证书。It assumes that you have three certificates to add to and remove from a local store.
#using <System.dll>
#using <System.Security.dll>
using namespace System;
using namespace System::Security::Cryptography;
using namespace System::Security::Cryptography::X509Certificates;
using namespace System::IO;
int main()
{
//Create new X509 store called teststore from the local certificate store.
X509Store ^ store = gcnew X509Store( "teststore",StoreLocation::CurrentUser );
store->Open( OpenFlags::ReadWrite );
X509Certificate2 ^ certificate = gcnew X509Certificate2;
//Create certificates from certificate files.
//You must put in a valid path to three certificates in the following constructors.
X509Certificate2 ^ certificate1 = gcnew X509Certificate2( "c:\\mycerts\\*****.cer" );
X509Certificate2 ^ certificate2 = gcnew X509Certificate2( "c:\\mycerts\\*****.cer" );
X509Certificate2 ^ certificate5 = gcnew X509Certificate2( "c:\\mycerts\\*****.cer" );
//Create a collection and add two of the certificates.
X509Certificate2Collection ^ collection = gcnew X509Certificate2Collection;
collection->Add( certificate2 );
collection->Add( certificate5 );
//Add certificates to the store.
store->Add( certificate1 );
store->AddRange( collection );
X509Certificate2Collection ^ storecollection = dynamic_cast<X509Certificate2Collection^>(store->Certificates);
Console::WriteLine( "Store name: {0}", store->Name );
Console::WriteLine( "Store location: {0}", store->Location );
System::Collections::IEnumerator^ myEnum = storecollection->GetEnumerator();
while ( myEnum->MoveNext() )
{
X509Certificate2 ^ x509 = safe_cast<X509Certificate2 ^>(myEnum->Current);
Console::WriteLine( "certificate name: {0}", x509->Subject );
}
//Remove a certificate.
store->Remove( certificate1 );
X509Certificate2Collection ^ storecollection2 = dynamic_cast<X509Certificate2Collection^>(store->Certificates);
Console::WriteLine( "{1}Store name: {0}", store->Name, Environment::NewLine );
System::Collections::IEnumerator^ myEnum1 = storecollection2->GetEnumerator();
while ( myEnum1->MoveNext() )
{
X509Certificate2 ^ x509 = safe_cast<X509Certificate2 ^>(myEnum1->Current);
Console::WriteLine( "certificate name: {0}", x509->Subject );
}
//Remove a range of certificates.
store->RemoveRange( collection );
X509Certificate2Collection ^ storecollection3 = dynamic_cast<X509Certificate2Collection^>(store->Certificates);
Console::WriteLine( "{1}Store name: {0}", store->Name, Environment::NewLine );
if ( storecollection3->Count == 0 )
{
Console::WriteLine( "Store contains no certificates." );
}
else
{
System::Collections::IEnumerator^ myEnum2 = storecollection3->GetEnumerator();
while ( myEnum2->MoveNext() )
{
X509Certificate2 ^ x509 = safe_cast<X509Certificate2 ^>(myEnum2->Current);
Console::WriteLine( "certificate name: {0}", x509->Subject );
}
}
//Close the store.
store->Close();
}
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 ();
}
}
Imports System.Security.Cryptography
Imports System.Security.Cryptography.X509Certificates
Imports System.IO
Class X509store2
Shared Sub Main(ByVal args() As String)
'Create new X509 store called teststore from the local certificate store.
Dim store As New X509Store("teststore", StoreLocation.CurrentUser)
store.Open(OpenFlags.ReadWrite)
Dim certificate As New X509Certificate2()
'Create certificates from certificate files.
'You must put in a valid path to three certificates in the following constructors.
Dim certificate1 As New X509Certificate2("c:\mycerts\*****.cer")
Dim certificate2 As New X509Certificate2("c:\mycerts\*****.cer")
Dim certificate5 As New X509Certificate2("c:\mycerts\*****.cer")
'Create a collection and add two of the certificates.
Dim collection As New X509Certificate2Collection()
collection.Add(certificate2)
collection.Add(certificate5)
'Add certificates to the store.
store.Add(certificate1)
store.AddRange(collection)
Dim storecollection As X509Certificate2Collection = CType(store.Certificates, X509Certificate2Collection)
Console.WriteLine("Store name: {0}", store.Name)
Console.WriteLine("Store location: {0}", store.Location)
Dim x509 As X509Certificate2
For Each x509 In storecollection
Console.WriteLine("certificate name: {0}", x509.Subject)
Next x509
'Remove a certificate.
store.Remove(certificate1)
Dim storecollection2 As X509Certificate2Collection = CType(store.Certificates, X509Certificate2Collection)
Console.WriteLine("{1}Store name: {0}", store.Name, Environment.NewLine)
Dim x509a As X509Certificate2
For Each x509a In storecollection2
Console.WriteLine("certificate name: {0}", x509a.Subject)
Next x509a
'Remove a range of certificates.
store.RemoveRange(collection)
Dim storecollection3 As X509Certificate2Collection = CType(store.Certificates, X509Certificate2Collection)
Console.WriteLine("{1}Store name: {0}", store.Name, Environment.NewLine)
If storecollection3.Count = 0 Then
Console.WriteLine("Store contains no certificates.")
Else
Dim x509b As X509Certificate2
For Each x509b In storecollection3
Console.WriteLine("certificate name: {0}", x509b.Subject)
Next x509b
End If
'Close the store.
store.Close()
End Sub
End Class
注解
使用此构造函数可以创建 X509Store 对象,同时指定存储区名称和存储区位置。Use this constructor to create an X509Store object, specifying both the store name and the store location.
适用于
X509Store(String, StoreLocation)
public:
X509Store(System::String ^ storeName, System::Security::Cryptography::X509Certificates::StoreLocation storeLocation);
public X509Store (string storeName, System.Security.Cryptography.X509Certificates.StoreLocation storeLocation);
new System.Security.Cryptography.X509Certificates.X509Store : string * System.Security.Cryptography.X509Certificates.StoreLocation -> System.Security.Cryptography.X509Certificates.X509Store
Public Sub New (storeName As String, storeLocation As StoreLocation)
参数
- storeName
- String
证书存储的名称。The name of the certificate store.
- storeLocation
- StoreLocation
指定 X.509 证书存储位置的枚举值之一。One of the enumeration values that specifies the location of the X.509 certificate store.
例外
storeLocation 包含无效值。storeLocation contains invalid values.
示例
下面的代码示例打开 x.509 证书存储区,添加并删除证书,然后关闭存储区。The following code example opens an X.509 certificate store, adds and deletes certificates, and then closes the store. 它假定你有三个要在本地存储区中添加和删除的证书。It assumes that you have three certificates to add to and remove from a local store.
#using <System.dll>
#using <System.Security.dll>
using namespace System;
using namespace System::Security::Cryptography;
using namespace System::Security::Cryptography::X509Certificates;
using namespace System::IO;
int main()
{
//Create new X509 store called teststore from the local certificate store.
X509Store ^ store = gcnew X509Store( "teststore",StoreLocation::CurrentUser );
store->Open( OpenFlags::ReadWrite );
X509Certificate2 ^ certificate = gcnew X509Certificate2;
//Create certificates from certificate files.
//You must put in a valid path to three certificates in the following constructors.
X509Certificate2 ^ certificate1 = gcnew X509Certificate2( "c:\\mycerts\\*****.cer" );
X509Certificate2 ^ certificate2 = gcnew X509Certificate2( "c:\\mycerts\\*****.cer" );
X509Certificate2 ^ certificate5 = gcnew X509Certificate2( "c:\\mycerts\\*****.cer" );
//Create a collection and add two of the certificates.
X509Certificate2Collection ^ collection = gcnew X509Certificate2Collection;
collection->Add( certificate2 );
collection->Add( certificate5 );
//Add certificates to the store.
store->Add( certificate1 );
store->AddRange( collection );
X509Certificate2Collection ^ storecollection = dynamic_cast<X509Certificate2Collection^>(store->Certificates);
Console::WriteLine( "Store name: {0}", store->Name );
Console::WriteLine( "Store location: {0}", store->Location );
System::Collections::IEnumerator^ myEnum = storecollection->GetEnumerator();
while ( myEnum->MoveNext() )
{
X509Certificate2 ^ x509 = safe_cast<X509Certificate2 ^>(myEnum->Current);
Console::WriteLine( "certificate name: {0}", x509->Subject );
}
//Remove a certificate.
store->Remove( certificate1 );
X509Certificate2Collection ^ storecollection2 = dynamic_cast<X509Certificate2Collection^>(store->Certificates);
Console::WriteLine( "{1}Store name: {0}", store->Name, Environment::NewLine );
System::Collections::IEnumerator^ myEnum1 = storecollection2->GetEnumerator();
while ( myEnum1->MoveNext() )
{
X509Certificate2 ^ x509 = safe_cast<X509Certificate2 ^>(myEnum1->Current);
Console::WriteLine( "certificate name: {0}", x509->Subject );
}
//Remove a range of certificates.
store->RemoveRange( collection );
X509Certificate2Collection ^ storecollection3 = dynamic_cast<X509Certificate2Collection^>(store->Certificates);
Console::WriteLine( "{1}Store name: {0}", store->Name, Environment::NewLine );
if ( storecollection3->Count == 0 )
{
Console::WriteLine( "Store contains no certificates." );
}
else
{
System::Collections::IEnumerator^ myEnum2 = storecollection3->GetEnumerator();
while ( myEnum2->MoveNext() )
{
X509Certificate2 ^ x509 = safe_cast<X509Certificate2 ^>(myEnum2->Current);
Console::WriteLine( "certificate name: {0}", x509->Subject );
}
}
//Close the store.
store->Close();
}
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 ();
}
}
Imports System.Security.Cryptography
Imports System.Security.Cryptography.X509Certificates
Imports System.IO
Class X509store2
Shared Sub Main(ByVal args() As String)
'Create new X509 store called teststore from the local certificate store.
Dim store As New X509Store("teststore", StoreLocation.CurrentUser)
store.Open(OpenFlags.ReadWrite)
Dim certificate As New X509Certificate2()
'Create certificates from certificate files.
'You must put in a valid path to three certificates in the following constructors.
Dim certificate1 As New X509Certificate2("c:\mycerts\*****.cer")
Dim certificate2 As New X509Certificate2("c:\mycerts\*****.cer")
Dim certificate5 As New X509Certificate2("c:\mycerts\*****.cer")
'Create a collection and add two of the certificates.
Dim collection As New X509Certificate2Collection()
collection.Add(certificate2)
collection.Add(certificate5)
'Add certificates to the store.
store.Add(certificate1)
store.AddRange(collection)
Dim storecollection As X509Certificate2Collection = CType(store.Certificates, X509Certificate2Collection)
Console.WriteLine("Store name: {0}", store.Name)
Console.WriteLine("Store location: {0}", store.Location)
Dim x509 As X509Certificate2
For Each x509 In storecollection
Console.WriteLine("certificate name: {0}", x509.Subject)
Next x509
'Remove a certificate.
store.Remove(certificate1)
Dim storecollection2 As X509Certificate2Collection = CType(store.Certificates, X509Certificate2Collection)
Console.WriteLine("{1}Store name: {0}", store.Name, Environment.NewLine)
Dim x509a As X509Certificate2
For Each x509a In storecollection2
Console.WriteLine("certificate name: {0}", x509a.Subject)
Next x509a
'Remove a range of certificates.
store.RemoveRange(collection)
Dim storecollection3 As X509Certificate2Collection = CType(store.Certificates, X509Certificate2Collection)
Console.WriteLine("{1}Store name: {0}", store.Name, Environment.NewLine)
If storecollection3.Count = 0 Then
Console.WriteLine("Store contains no certificates.")
Else
Dim x509b As X509Certificate2
For Each x509b In storecollection3
Console.WriteLine("certificate name: {0}", x509b.Subject)
Next x509b
End If
'Close the store.
store.Close()
End Sub
End Class
注解
使用此构造函数可以创建 X509Store 使用存储名称和位置的对象。Use this constructor to create an X509Store object using a store name and location. 若要创建新的存储,请指定不存在的名称。To create a new store, specify a name that does not exist. 将使用该名称创建一个新的存储区。A new store will be created with that name.
适用于
X509Store(StoreName, StoreLocation, OpenFlags)
public:
X509Store(System::Security::Cryptography::X509Certificates::StoreName storeName, System::Security::Cryptography::X509Certificates::StoreLocation storeLocation, System::Security::Cryptography::X509Certificates::OpenFlags flags);
public X509Store (System.Security.Cryptography.X509Certificates.StoreName storeName, System.Security.Cryptography.X509Certificates.StoreLocation storeLocation, System.Security.Cryptography.X509Certificates.OpenFlags flags);
new System.Security.Cryptography.X509Certificates.X509Store : System.Security.Cryptography.X509Certificates.StoreName * System.Security.Cryptography.X509Certificates.StoreLocation * System.Security.Cryptography.X509Certificates.OpenFlags -> System.Security.Cryptography.X509Certificates.X509Store
Public Sub New (storeName As StoreName, storeLocation As StoreLocation, flags As OpenFlags)
参数
- storeName
- StoreName
指定 X.509 证书存储的名称的枚举值之一。One of the enumeration values that specifies the name of the X.509 certificate store.
- storeLocation
- StoreLocation
指定 X.509 证书存储位置的枚举值之一。One of the enumeration values that specifies the location of the X.509 certificate store.
- flags
- OpenFlags
一个枚举值的按位组合,它指定 X.509 证书存储的打开方式。A bitwise combination of enumeration values that specifies the way to open the X.509 certificate store.
例外
storeLocation 不是有效位置或者 storeName 不是有效名称。storeLocation is not a valid location or storeName is not a valid name.
无法打开存储。The store cannot be opened.
适用于
X509Store(String, StoreLocation, OpenFlags)
public:
X509Store(System::String ^ storeName, System::Security::Cryptography::X509Certificates::StoreLocation storeLocation, System::Security::Cryptography::X509Certificates::OpenFlags flags);
public X509Store (string storeName, System.Security.Cryptography.X509Certificates.StoreLocation storeLocation, System.Security.Cryptography.X509Certificates.OpenFlags flags);
new System.Security.Cryptography.X509Certificates.X509Store : string * System.Security.Cryptography.X509Certificates.StoreLocation * System.Security.Cryptography.X509Certificates.OpenFlags -> System.Security.Cryptography.X509Certificates.X509Store
Public Sub New (storeName As String, storeLocation As StoreLocation, flags As OpenFlags)
参数
- storeName
- String
证书存储的名称。The name of the certificate store.
- storeLocation
- StoreLocation
指定 X.509 证书存储位置的枚举值之一。One of the enumeration values that specifies the location of the X.509 certificate store.
- flags
- OpenFlags
一个枚举值的按位组合,它指定 X.509 证书存储的打开方式。A bitwise combination of enumeration values that specifies the way to open the X.509 certificate store.
例外
storeLocation 不是有效的位置。storeLocation is not a valid location.