X509Certificate2Collection Klasse

Definition

Stellt eine Auflistung vonX509Certificate2-Objekten dar.Represents a collection of X509Certificate2 objects. Diese Klasse kann nicht vererbt werden.This class cannot be inherited.

public ref class X509Certificate2Collection : System::Security::Cryptography::X509Certificates::X509CertificateCollection
public class X509Certificate2Collection : System.Security.Cryptography.X509Certificates.X509CertificateCollection
type X509Certificate2Collection = class
    inherit X509CertificateCollection
Public Class X509Certificate2Collection
Inherits X509CertificateCollection
Vererbung
X509Certificate2Collection
Vererbung
X509Certificate2Collection

Beispiele

Im folgenden Codebeispiel wird der persönliche Zertifikat Speicher des aktuellen Benutzers geöffnet, nur gültige Zertifikate ausgewählt, der Benutzer kann ein Zertifikat auswählen und dann Zertifikat-und Zertifikats Ketten Informationen in die Konsole schreiben.The following code example opens the current user's personal certificate store, selects only valid certificates, allows the user to select a certificate, and then writes certificate and certificate chain information to the console. Die Ausgabe hängt von dem Zertifikat ab, das vom Benutzer ausgewählt wird.The output depends on the certificate the user selects.

#using <System.dll>
#using <System.Security.dll>

using namespace System;
using namespace System::Security::Cryptography;
using namespace System::Security::Permissions;
using namespace System::IO;
using namespace System::Security::Cryptography::X509Certificates;
int main()
{
   try
   {
      X509Store ^ store = gcnew X509Store( "MY",StoreLocation::CurrentUser );
      store->Open( static_cast<OpenFlags>(OpenFlags::ReadOnly | OpenFlags::OpenExistingOnly) );
      X509Certificate2Collection ^ collection = dynamic_cast<X509Certificate2Collection^>(store->Certificates);
      X509Certificate2Collection ^ fcollection = dynamic_cast<X509Certificate2Collection^>(collection->Find( X509FindType::FindByTimeValid, DateTime::Now, false ));
      X509Certificate2Collection ^ scollection = X509Certificate2UI::SelectFromCollection(fcollection, "Test Certificate Select","Select a certificate from the following list to get information on that certificate",X509SelectionFlag::MultiSelection);
      Console::WriteLine( "Number of certificates: {0}{1}", scollection->Count, Environment::NewLine );
      System::Collections::IEnumerator^ myEnum = scollection->GetEnumerator();
      while ( myEnum->MoveNext() )
      {
         X509Certificate2 ^ x509 = safe_cast<X509Certificate2 ^>(myEnum->Current);
         array<Byte>^rawdata = x509->RawData;
         Console::WriteLine( "Content Type: {0}{1}", X509Certificate2::GetCertContentType( rawdata ), Environment::NewLine );
         Console::WriteLine( "Friendly Name: {0}{1}", x509->FriendlyName, Environment::NewLine );
         Console::WriteLine( "Certificate Verified?: {0}{1}", x509->Verify(), Environment::NewLine );
         Console::WriteLine( "Simple Name: {0}{1}", x509->GetNameInfo( X509NameType::SimpleName, true ), Environment::NewLine );
         Console::WriteLine( "Signature Algorithm: {0}{1}", x509->SignatureAlgorithm->FriendlyName, Environment::NewLine );
         Console::WriteLine( "Private Key: {0}{1}", x509->PrivateKey->ToXmlString( false ), Environment::NewLine );
         Console::WriteLine( "Public Key: {0}{1}", x509->PublicKey->Key->ToXmlString( false ), Environment::NewLine );
         Console::WriteLine( "Certificate Archived?: {0}{1}", x509->Archived, Environment::NewLine );
         Console::WriteLine( "Length of Raw Data: {0}{1}", x509->RawData->Length, Environment::NewLine );
         x509->Reset();
      }
      store->Close();
   }
   catch ( CryptographicException^ ) 
   {
      Console::WriteLine( "Information could not be written out for this certificate." );
   }

}

using System;
using System.Security.Cryptography;
using System.Security.Permissions;
using System.IO;
using System.Security.Cryptography.X509Certificates;

class CertSelect
{
    static void Main()
    {
        X509Store store = new X509Store("MY",StoreLocation.CurrentUser);
        store.Open(OpenFlags.ReadOnly | OpenFlags.OpenExistingOnly);

        X509Certificate2Collection collection = (X509Certificate2Collection)store.Certificates;
        X509Certificate2Collection fcollection = (X509Certificate2Collection)collection.Find(X509FindType.FindByTimeValid,DateTime.Now,false);
        X509Certificate2Collection scollection = X509Certificate2UI.SelectFromCollection(fcollection, "Test Certificate Select","Select a certificate from the following list to get information on that certificate",X509SelectionFlag.MultiSelection);
        Console.WriteLine("Number of certificates: {0}{1}",scollection.Count,Environment.NewLine);

        foreach (X509Certificate2 x509 in scollection)
        {
            try
            {
                byte[] rawdata = x509.RawData;
                Console.WriteLine("Content Type: {0}{1}",X509Certificate2.GetCertContentType(rawdata),Environment.NewLine);
                Console.WriteLine("Friendly Name: {0}{1}",x509.FriendlyName,Environment.NewLine);
                Console.WriteLine("Certificate Verified?: {0}{1}",x509.Verify(),Environment.NewLine);
                Console.WriteLine("Simple Name: {0}{1}",x509.GetNameInfo(X509NameType.SimpleName,true),Environment.NewLine);
                Console.WriteLine("Signature Algorithm: {0}{1}",x509.SignatureAlgorithm.FriendlyName,Environment.NewLine);
                Console.WriteLine("Public Key: {0}{1}",x509.PublicKey.Key.ToXmlString(false),Environment.NewLine);
                Console.WriteLine("Certificate Archived?: {0}{1}",x509.Archived,Environment.NewLine);
                Console.WriteLine("Length of Raw Data: {0}{1}",x509.RawData.Length,Environment.NewLine);
                X509Certificate2UI.DisplayCertificate(x509);
                x509.Reset();
            }
            catch (CryptographicException)
            {
                Console.WriteLine("Information could not be written out for this certificate.");
            }
        }
        store.Close();
    }
}
Imports System.Security.Cryptography
Imports System.Security.Permissions
Imports System.IO
Imports System.Security.Cryptography.X509Certificates

Class CertSelect

    Shared Sub Main()

        Dim store As New X509Store("MY", StoreLocation.CurrentUser)
        store.Open(OpenFlags.ReadOnly Or OpenFlags.OpenExistingOnly)

        Dim collection As X509Certificate2Collection = CType(store.Certificates, X509Certificate2Collection)
        Dim fcollection As X509Certificate2Collection = CType(collection.Find(X509FindType.FindByTimeValid, DateTime.Now, False), X509Certificate2Collection)
        Dim scollection As X509Certificate2Collection = X509Certificate2UI.SelectFromCollection(fcollection, "Test Certificate Select", "Select a certificate from the following list to get information on that certificate", X509SelectionFlag.MultiSelection)
        Console.WriteLine("Number of certificates: {0}{1}", scollection.Count, Environment.NewLine)
         
        For Each x509 As X509Certificate2 In scollection
            Try
                Dim rawdata As Byte() = x509.RawData
                Console.WriteLine("Content Type: {0}{1}", X509Certificate2.GetCertContentType(rawdata), Environment.NewLine)
                Console.WriteLine("Friendly Name: {0}{1}", x509.FriendlyName, Environment.NewLine)
                Console.WriteLine("Certificate Verified?: {0}{1}", x509.Verify(), Environment.NewLine)
                Console.WriteLine("Simple Name: {0}{1}", x509.GetNameInfo(X509NameType.SimpleName, True), Environment.NewLine)
                Console.WriteLine("Signature Algorithm: {0}{1}", x509.SignatureAlgorithm.FriendlyName, Environment.NewLine)
                Console.WriteLine("Public Key: {0}{1}", x509.PublicKey.Key.ToXmlString(False), Environment.NewLine)
                Console.WriteLine("Certificate Archived?: {0}{1}", x509.Archived, Environment.NewLine)
                Console.WriteLine("Length of Raw Data: {0}{1}", x509.RawData.Length, Environment.NewLine)
                X509Certificate2UI.DisplayCertificate(x509)
                x509.Reset()         
             Catch cExcept As CryptographicException
                 Console.WriteLine("Information could not be written out for this certificate.")
             End Try
        Next x509

        store.Close()
    End Sub
End Class

Hinweise

Wenn ein X509Certificate2 Speicher geöffnet wird, wird das Ergebnis durch ein X509Certificate2Collection Objekt dargestellt.When an X509Certificate2 store is opened, the result is represented by an X509Certificate2Collection object. Wenn Sie mit den nicht verwalteten kryptografischen API-Konstrukten vertraut sind, können Sie sich eine X509Certificate2Collection als Speicher Speicher X509Certificate2 Objekten vorstellen.If you are familiar with the unmanaged Cryptographic API constructs, you can think of an X509Certificate2Collection as a memory store of X509Certificate2 objects.

Konstruktoren

X509Certificate2Collection()

Initialisiert eine neue Instanz der X509Certificate2Collection-Klasse ohne jegliche X509Certificate2-Informationen.Initializes a new instance of the X509Certificate2Collection class without any X509Certificate2 information.

X509Certificate2Collection(X509Certificate2)

Initialisiert eine neue Instanz der X509Certificate2Collection-Klasse mit einem X509Certificate2-Objekt.Initializes a new instance of the X509Certificate2Collection class using an X509Certificate2 object.

X509Certificate2Collection(X509Certificate2[])

Initialisiert mithilfe eines Arrays von X509Certificate2Collection-Objekten eine neue Instanz der X509Certificate2-Klasse.Initializes a new instance of the X509Certificate2Collection class using an array of X509Certificate2 objects.

X509Certificate2Collection(X509Certificate2Collection)

Initialisiert mithilfe der angegeben Zertifikatsauflistung eine neue Instanz der X509Certificate2Collection-Klasse.Initializes a new instance of the X509Certificate2Collection class using the specified certificate collection.

Eigenschaften

Capacity

Ruft die Anzahl der Elemente ab, die die CollectionBase enthalten kann, oder legt diese fest.Gets or sets the number of elements that the CollectionBase can contain.

(Geerbt von CollectionBase)
Count

Ruft die Anzahl der in der Auflistung enthaltenen Elemente ab.Gets the number of elements contained in the collection.

(Geerbt von X509CertificateCollection)
InnerList

Ruft eine ArrayList mit der Liste der Elemente in der CollectionBase-Instanz ab.Gets an ArrayList containing the list of elements in the CollectionBase instance.

(Geerbt von CollectionBase)
Item[Int32]

Ruft das Element am angegebenen Index ab oder legt dieses fest.Gets or sets the element at the specified index.

List

Ruft eine IList mit der Liste der Elemente in der CollectionBase-Instanz ab.Gets an IList containing the list of elements in the CollectionBase instance.

(Geerbt von CollectionBase)

Methoden

Add(X509Certificate)

Fügt ein X509Certificate mit dem angegebenen Wert zum aktuellen X509CertificateCollection hinzu.Adds an X509Certificate with the specified value to the current X509CertificateCollection.

(Geerbt von X509CertificateCollection)
Add(X509Certificate2)

Fügt am Ende der X509Certificate2Collection ein Objekt hinzu.Adds an object to the end of the X509Certificate2Collection.

AddRange(X509Certificate[])

Kopiert die Elemente eines Arrays vom Typ X509Certificate an das Ende des aktuellen X509CertificateCollection.Copies the elements of an array of type X509Certificate to the end of the current X509CertificateCollection.

(Geerbt von X509CertificateCollection)
AddRange(X509Certificate2[])

Fügt einem X509Certificate2-Objekt mehrere X509Certificate2Collection-Objekte in einem Array hinzu.Adds multiple X509Certificate2 objects in an array to the X509Certificate2Collection object.

AddRange(X509Certificate2Collection)

Fügt einem anderen X509Certificate2-Objekt mehrere X509Certificate2Collection-Objekte eines X509Certificate2Collection-Objekts hinzu.Adds multiple X509Certificate2 objects in an X509Certificate2Collection object to another X509Certificate2Collection object.

AddRange(X509CertificateCollection)

Kopiert die Elemente der angegebenen X509CertificateCollection an das Ende der aktuellen X509CertificateCollection.Copies the elements of the specified X509CertificateCollection to the end of the current X509CertificateCollection.

(Geerbt von X509CertificateCollection)
Clear()

Entfernt alle Elemente aus der Auflistung.Removes all items from the collection.

(Geerbt von X509CertificateCollection)
Contains(X509Certificate)

Ruft einen Wert ab, der angibt, ob die aktuelle X509CertificateCollection das angegebene X509Certificate enthält.Gets a value indicating whether the current X509CertificateCollection contains the specified X509Certificate.

(Geerbt von X509CertificateCollection)
Contains(X509Certificate2)

Bestimmt, ob das X509Certificate2Collection-Objekt ein bestimmtes Zertifikat enthält.Determines whether the X509Certificate2Collection object contains a specific certificate.

CopyTo(X509Certificate[], Int32)

Kopiert die X509Certificate-Werte in der aktuellen X509CertificateCollection an den angegebenen Index in einer eindimensionalen Array-Instanz.Copies the X509Certificate values in the current X509CertificateCollection to a one-dimensional Array instance at the specified index.

(Geerbt von X509CertificateCollection)
Equals(Object)

Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist.Determines whether the specified object is equal to the current object.

(Geerbt von Object)
Export(X509ContentType)

Exportiert X.509-Zertifikatsinformationen in ein Bytearray.Exports X.509 certificate information into a byte array.

Export(X509ContentType, String)

Exportiert X.509-Zertifikatsinformationen mithilfe eines Kennworts in ein Bytearray.Exports X.509 certificate information into a byte array using a password.

Find(X509FindType, Object, Boolean)

Sucht mithilfe der durch die X509Certificate2Collection-Enumeration und das findValue-Objekt angegebenen Suchkriterien ein X509FindType-Objekt.Searches an X509Certificate2Collection object using the search criteria specified by the X509FindType enumeration and the findValue object.

GetEnumerator()

Gibt einen Enumerator zurück, der ein X509Certificate2Collection-Objekt durchlaufen kann.Returns an enumerator that can iterate through a X509Certificate2Collection object.

GetHashCode()

Erstellt einen Hashwert auf Grundlage aller Werte in der aktuellen X509CertificateCollection.Builds a hash value based on all values contained in the current X509CertificateCollection.

(Geerbt von X509CertificateCollection)
GetType()

Ruft den Type der aktuellen Instanz ab.Gets the Type of the current instance.

(Geerbt von Object)
Import(Byte[])

Importiert ein Zertifikat in Form eines Bytearrays in ein X509Certificate2Collection-Objekt.Imports a certificate in the form of a byte array into a X509Certificate2Collection object.

Import(Byte[], String, X509KeyStorageFlags)

Importiert ein Zertifikat in Form eines Bytearrays, das für den Zugriff auf das Zertifikat ein Kennwort erfordert, in ein X509Certificate2Collection-Objekt.Imports a certificate, in the form of a byte array that requires a password to access the certificate, into a X509Certificate2Collection object.

Import(ReadOnlySpan<Byte>)

Importiert die Zertifikate aus den bereitgestellten Daten in diese Sammlung.Imports the certificates from the provided data into this collection.

Import(ReadOnlySpan<Byte>, ReadOnlySpan<Char>, X509KeyStorageFlags)

Importiert die Zertifikate aus den bereitgestellten Daten in diese Sammlung.Imports the certificates from the provided data into this collection.

Import(ReadOnlySpan<Byte>, String, X509KeyStorageFlags)

Importiert die Zertifikate aus den bereitgestellten Daten in diese Sammlung.Imports the certificates from the provided data into this collection.

Import(String)

Importiert eine Zertifikatsdatei in ein X509Certificate2Collection-Objekt.Imports a certificate file into a X509Certificate2Collection object.

Import(String, ReadOnlySpan<Char>, X509KeyStorageFlags)

Importiert die Zertifikate aus der angegebenen Datei in diese Sammlung.Imports the certificates from the specified file a into this collection.

Import(String, String, X509KeyStorageFlags)

Importiert eine Zertifikatsdatei, die für ein X509Certificate2Collection-Objekt ein Kennwort erfordert.Imports a certificate file that requires a password into a X509Certificate2Collection object.

ImportFromPem(ReadOnlySpan<Char>)

Importiert eine Sammlung von RFC 7468 PEM-codierten Zertifikaten.Imports a collection of RFC 7468 PEM-encoded certificates.

ImportFromPemFile(String)

Importiert eine Sammlung von RFC 7468 PEM-codierten Zertifikaten.Imports a collection of RFC 7468 PEM-encoded certificates.

IndexOf(X509Certificate)

Gibt den Index des angegebenen X509Certificate in der aktuellen X509CertificateCollection zurück.Returns the index of the specified X509Certificate in the current X509CertificateCollection.

(Geerbt von X509CertificateCollection)
Insert(Int32, X509Certificate)

Fügt ein X509Certificate am angegebenen Index in die X509CertificateCollection ein.Inserts a X509Certificate into the current X509CertificateCollection at the specified index.

(Geerbt von X509CertificateCollection)
Insert(Int32, X509Certificate2)

Fügt ein Objekt in ein X509Certificate2Collection-Objekt am angegebenen Index ein.Inserts an object into the X509Certificate2Collection object at the specified index.

MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

(Geerbt von Object)
OnClear()

Führt beim Löschen des Inhalts der CollectionBase-Instanz zusätzliche benutzerdefinierte Prozesse aus.Performs additional custom processes when clearing the contents of the CollectionBase instance.

(Geerbt von CollectionBase)
OnClearComplete()

Führt nach dem Löschen des Inhalts der CollectionBase-Instanz zusätzliche benutzerdefinierte Prozesse aus.Performs additional custom processes after clearing the contents of the CollectionBase instance.

(Geerbt von CollectionBase)
OnInsert(Int32, Object)

Führt zusätzliche benutzerdefinierte Prozesse vor dem Einfügen eines neuen Elements in die CollectionBase-Instanz aus.Performs additional custom processes before inserting a new element into the CollectionBase instance.

(Geerbt von CollectionBase)
OnInsertComplete(Int32, Object)

Führt zusätzliche benutzerdefinierte Prozesse nach dem Einfügen eines neuen Elements in die CollectionBase-Instanz aus.Performs additional custom processes after inserting a new element into the CollectionBase instance.

(Geerbt von CollectionBase)
OnRemove(Int32, Object)

Führt zusätzliche benutzerdefinierte Prozesse beim Entfernen eines Elements aus der CollectionBase-Instanz aus.Performs additional custom processes when removing an element from the CollectionBase instance.

(Geerbt von CollectionBase)
OnRemoveComplete(Int32, Object)

Führt zusätzliche benutzerdefinierte Prozesse nach dem Entfernen eines Elements aus der CollectionBase-Instanz aus.Performs additional custom processes after removing an element from the CollectionBase instance.

(Geerbt von CollectionBase)
OnSet(Int32, Object, Object)

Führt zusätzliche benutzerdefinierte Prozesse vor dem Festlegen eines Werts in der CollectionBase-Instanz aus.Performs additional custom processes before setting a value in the CollectionBase instance.

(Geerbt von CollectionBase)
OnSetComplete(Int32, Object, Object)

Führt zusätzliche benutzerdefinierte Prozesse nach dem Festlegen eines Werts in der CollectionBase-Instanz aus.Performs additional custom processes after setting a value in the CollectionBase instance.

(Geerbt von CollectionBase)
OnValidate(Object)

Führt zusätzliche benutzerdefinierte Prozesse beim Validieren eines Werts aus.Performs additional custom processes when validating a value.

(Geerbt von X509CertificateCollection)
Remove(X509Certificate)

Entfernt ein bestimmtes X509Certificate aus der aktuellen X509CertificateCollection.Removes a specific X509Certificate from the current X509CertificateCollection.

(Geerbt von X509CertificateCollection)
Remove(X509Certificate2)

Entfernt das erste Vorkommen eines Zertifikats aus dem X509Certificate2Collection-Objekt.Removes the first occurrence of a certificate from the X509Certificate2Collection object.

RemoveAt(Int32)

Entfernt das Element am angegebenen Index.Removes the element at the specified index.

(Geerbt von X509CertificateCollection)
RemoveRange(X509Certificate2[])

Entfernt mehrere X509Certificate2-Objekte in einem Array von einem X509Certificate2Collection-Objekt.Removes multiple X509Certificate2 objects in an array from an X509Certificate2Collection object.

RemoveRange(X509Certificate2Collection)

Entfernt mehrere X509Certificate2-Objekte in einem X509Certificate2Collection-Objekt aus einem anderen X509Certificate2Collection-Objekt.Removes multiple X509Certificate2 objects in an X509Certificate2Collection object from another X509Certificate2Collection object.

ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.Returns a string that represents the current object.

(Geerbt von Object)

Explizite Schnittstellenimplementierungen

ICollection.CopyTo(Array, Int32)

Kopiert die gesamte Auflistung ab dem angegebenen Index des Zielarrays in ein kompatibles, eindimensionales Array.Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array.

(Geerbt von X509CertificateCollection)
ICollection.IsSynchronized

Ruft einen Wert ab, der angibt, ob der Zugriff auf die Auflistung synchronisiert ist (threadsicher).Gets a value indicating whether access to the collection is synchronized (thread safe).

(Geerbt von X509CertificateCollection)
ICollection.SyncRoot

Ruft ein Objekt ab, mit dem der Zugriff auf die Auflistung synchronisiert werden kann.Gets an object that can be used to synchronize access to the collection.

(Geerbt von X509CertificateCollection)
IEnumerable.GetEnumerator()

Gibt einen Enumerator zurück, der die Auflistung durchläuft.Returns an enumerator that iterates through the collection.

(Geerbt von X509CertificateCollection)
IList.Add(Object)

Fügt ein Objekt am Ende der Auflistung hinzu.Adds an object to the end of the collection.

(Geerbt von X509CertificateCollection)
IList.Contains(Object)

Ermittelt, ob die Auflistung ein bestimmtes Element enthält.Determines whether the collection contains a specific element.

(Geerbt von X509CertificateCollection)
IList.IndexOf(Object)

Sucht nach dem angegebenen Objekt und gibt den nullbasierten Index des ersten Vorkommens in der Auflistung zurück.Searches for the specified object and returns the zero-based index of the first occurrence within the collection.

(Geerbt von X509CertificateCollection)
IList.Insert(Int32, Object)

Fügt ein Element am angegebenen Index in die Auflistung ein.Inserts an element into the collection at the specified index.

(Geerbt von X509CertificateCollection)
IList.IsFixedSize

Ruft einen Wert ab, der angibt, ob die Auflistung eine feste Größe aufweist.Gets a value indicating whether the collection has a fixed size.

(Geerbt von X509CertificateCollection)
IList.IsReadOnly

Ruft einen Wert ab, der angibt, ob die Auflistung schreibgeschützt ist.Gets a value indicating whether the collection is read-only.

(Geerbt von X509CertificateCollection)
IList.Item[Int32]

Ruft das Element am angegebenen Index ab oder legt dieses fest.Gets or sets the element at the specified index.

(Geerbt von X509CertificateCollection)
IList.Remove(Object)

Entfernt das erste Vorkommen eines bestimmten Objekts aus der Auflistung.Removes the first occurrence of a specific object from the collection.

(Geerbt von X509CertificateCollection)

Erweiterungsmethoden

Cast<TResult>(IEnumerable)

Wandelt die Elemente eines IEnumerable in den angegebenen Typ umCasts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable)

Filtert die Elemente eines IEnumerable anhand eines angegebenen TypsFilters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable)

Ermöglicht die Parallelisierung einer Abfrage.Enables parallelization of a query.

AsQueryable(IEnumerable)

Konvertiert einen IEnumerable in einen IQueryable.Converts an IEnumerable to an IQueryable.

Gilt für: