X509FindType X509FindType X509FindType X509FindType Enum

Definition

Gibt den Typ des Werts an, nach dem die Find(X509FindType, Object, Boolean)-Methode sucht.Specifies the type of value the Find(X509FindType, Object, Boolean) method searches for.

public enum class X509FindType
public enum X509FindType
type X509FindType = 
Public Enum X509FindType
Vererbung

Felder

FindByApplicationPolicy FindByApplicationPolicy FindByApplicationPolicy FindByApplicationPolicy 10

Der findValue-Parameter für die Find(X509FindType, Object, Boolean)-Methode muss eine Zeichenfolge sein, die entweder den angezeigten Namen der Anwendungsrichtlinie oder den Objektbezeichner (OID oder Oid) des Zertifikats darstellt.The findValue parameter for the Find(X509FindType, Object, Boolean) method must be a string representing either the application policy friendly name or the object identifier (OID, or Oid) of the certificate. Beispielsweise kann "Encrypting File System" oder "1.3.6.1.4.1.311.10.3.4" verwendet werden.For example, "Encrypting File System" or "1.3.6.1.4.1.311.10.3.4" can be used. Für eine Anwendung, die lokalisiert wird, muss der OID-Wert verwendet werden, da der Anzeigename lokalisiert wird.For an application that will be localized, the OID value must be used, because the friendly name is localized.

FindByCertificatePolicy FindByCertificatePolicy FindByCertificatePolicy FindByCertificatePolicy 11

Der findValue-Parameter für die Find(X509FindType, Object, Boolean)-Methode muss eine Zeichenfolge sein, die den angezeigten Namen oder den Objektbezeichner (OID oder Oid) der Zertifikatsrichtlinie darstellt.The findValue parameter for the Find(X509FindType, Object, Boolean) method must be a string representing either the friendly name or the object identifier (OID, or Oid) of the certificate policy. Die optimale Methode besteht darin, den OID-Wert zu verwenden, z. B. "1.3.6.1.4.1.311.10.3.4".The best practice is to use the OID, such as "1.3.6.1.4.1.311.10.3.4". Für eine Anwendung, die lokalisiert wird, muss die OID verwendet werden, da der Anzeigename lokalisiert wird.For an application that will be localized, the OID must be used, because the friendly name is localized.

FindByExtension FindByExtension FindByExtension FindByExtension 12

Der findValue-Parameter für die Find(X509FindType, Object, Boolean)-Methode muss eine Zeichenfolge sein, mit der die gesuchte Erweiterung beschrieben wird.The findValue parameter for the Find(X509FindType, Object, Boolean) method must be a string describing the extension to find. Der Objektbezeichner (OID) wird meist dazu verwendet, die Find(X509FindType, Object, Boolean)-Methode anzuweisen, nach allen Zertifikaten mit einer Erweiterung zu suchen, die dem betreffenden OID-Wert entspricht.The object identifier (OID) is most commonly used to direct the Find(X509FindType, Object, Boolean) method to search for all certificates that have an extension matching that OID value.

FindByIssuerDistinguishedName FindByIssuerDistinguishedName FindByIssuerDistinguishedName FindByIssuerDistinguishedName 4

Der findValue-Parameter für die Find(X509FindType, Object, Boolean)-Methode muss eine Zeichenfolge sein, die den Distinguished Name des Ausstellers des Zertifikats darstellt.The findValue parameter for the Find(X509FindType, Object, Boolean) method must be a string representing the issuer distinguished name of the certificate. Dies ist eine bestimmtere Suche als die durch den FindByIssuerName-Enumerationswert bereitgestellte.This is a more specific search than that provided by the FindByIssuerName enumeration value. Mit dem FindByIssuerDistinguishedName-Wert führt die Find(X509FindType, Object, Boolean)-Methode einen Zeichenfolgenvergleich ohne Berücksichtigung von Groß- und Kleinschreibung für den gesamten Distinguished Name aus.Using the FindByIssuerDistinguishedName value, the Find(X509FindType, Object, Boolean) method performs a case-insensitive string comparison for the entire distinguished name. Das Suchen nach Ausstellernamen ist ein weniger genaues Suchverfahren.Searching by issuer name is a less precise search.

FindByIssuerName FindByIssuerName FindByIssuerName FindByIssuerName 3

Der findValue-Parameter für die Find(X509FindType, Object, Boolean)-Methode muss eine Zeichenfolge sein, die den Namen des Ausstellers des Zertifikats darstellt.The findValue parameter for the Find(X509FindType, Object, Boolean) method must be a string representing the issuer name of the certificate. Dies ist eine weniger bestimmte Suche als die durch den FindByIssuerDistinguishedName-Enumerationswert bereitgestellte.This is a less specific search than that provided by the FindByIssuerDistinguishedName enumeration value. Mit dem FindByIssuerName-Wert führt die Find(X509FindType, Object, Boolean)-Methode einen Zeichenfolgenvergleich ohne Berücksichtigung der Groß- und Kleinschreibung unter Verwendung des angegebenen Werts aus.Using the FindByIssuerName value, the Find(X509FindType, Object, Boolean) method performs a case-insensitive string comparison using the supplied value. Wenn Sie beispielsweise "MyCA" an die Find(X509FindType, Object, Boolean)-Methode übergeben, wird nach allen Zertifikaten mit einem Ausstellernamen gesucht, der diese Zeichenfolge enthält, ungeachtet anderer Werte für den Aussteller.For example, if you pass "MyCA" to the Find(X509FindType, Object, Boolean) method, it will find all certificates with the issuer name containing that string, regardless of other issuer values.

FindByKeyUsage FindByKeyUsage FindByKeyUsage FindByKeyUsage 13

Der findValue-Parameter für die Find(X509FindType, Object, Boolean)-Methode muss eine Zeichenfolge sein, die die Schlüsselverwendung darstellt, oder eine Ganzzahl, die eine Bitmaske mit allen angeforderten Schlüsselverwendungen enthält.The findValue parameter for the Find(X509FindType, Object, Boolean) method must be either a string representing the key usage or an integer representing a bit mask containing all the requested key usages. Für den Zeichenfolgenwert kann nur jeweils eine Schlüsselverwendung angegeben werden, die Find(X509FindType, Object, Boolean)-Methode kann jedoch in einer überlappenden Sequenz verwendet werden, um die Schnittmenge der angeforderten Verwendungen abzurufen.For the string value, only one key usage at a time can be specified, but the Find(X509FindType, Object, Boolean) method can be used in a cascading sequence to get the intersection of the requested usages. Beispielsweise kann der findValue-Parameter auf "KeyEncipherment" oder auf eine Ganzzahl (0x30 gibt "KeyEncipherment" und "DataEncipherment" an) festgelegt werden.For example, the findValue parameter can be set to "KeyEncipherment" or an integer (0x30 indicates "KeyEncipherment" and "DataEncipherment"). Werte der X509KeyUsageFlags-Enumeration können ebenfalls verwendet werden.Values of the X509KeyUsageFlags enumeration can also be used.

FindBySerialNumber FindBySerialNumber FindBySerialNumber FindBySerialNumber 5

Der findValue-Parameter für die Find(X509FindType, Object, Boolean) Methode muss eine Zeichenfolge sein, die die Seriennummer des Zertifikats darstellt, wie vom Zertifikatsdialogfeld angezeigt, jedoch ohne die Leerzeichen, oder, wie von der GetSerialNumberString()-Methode zurückgegeben.The findValue parameter for the Find(X509FindType, Object, Boolean) method must be a string that represents the serial number of the certificate as displayed by the certificate dialog box, but without the spaces, or as returned by the GetSerialNumberString() method.

FindBySubjectDistinguishedName FindBySubjectDistinguishedName FindBySubjectDistinguishedName FindBySubjectDistinguishedName 2

Der findValue-Parameter für die Find(X509FindType, Object, Boolean)-Methode muss eine Zeichenfolge sein, die den Distinguished Name des Antragstellers des Zertifikats darstellt.The findValue parameter for the Find(X509FindType, Object, Boolean) method must be a string representing the subject distinguished name of the certificate. Dies ist eine bestimmtere Suche als die durch den FindBySubjectName-Enumerationswert bereitgestellte.This is a more specific search than that provided by the FindBySubjectName enumeration value. Mit dem FindBySubjectDistinguishedName-Wert führt die Find(X509FindType, Object, Boolean)-Methode einen Zeichenfolgenvergleich ohne Berücksichtigung von Groß- und Kleinschreibung für den gesamten Distinguished Name aus.Using the FindBySubjectDistinguishedName value, the Find(X509FindType, Object, Boolean) method performs a case-insensitive string comparison for the entire distinguished name. Das Suchen nach Antragstellernamen ist ein weniger genaues Suchverfahren.Searching by subject name is a less precise search.

FindBySubjectKeyIdentifier FindBySubjectKeyIdentifier FindBySubjectKeyIdentifier FindBySubjectKeyIdentifier 14

Der findValue-Parameter für die Find(X509FindType, Object, Boolean)-Methode muss eine Zeichenfolge sein, die den Zeichenfolgenbezeichner des Antragstellers in Hexadezimalschreibweise darstellt, z. B. "F3E815D45E83B8477B9284113C64EF208E897112", entsprechend der Anzeige auf der Benutzeroberfläche.The findValue parameter for the Find(X509FindType, Object, Boolean) method must be a string representing the subject key identifier in hexadecimal, such as "F3E815D45E83B8477B9284113C64EF208E897112", as displayed in the UI.

FindBySubjectName FindBySubjectName FindBySubjectName FindBySubjectName 1

Der findValue-Parameter für die Find(X509FindType, Object, Boolean)-Methode muss eine Zeichenfolge sein, die den Namen des Antragstellers des Zertifikats darstellt.The findValue parameter for the Find(X509FindType, Object, Boolean) method must be a string representing the subject name of the certificate. Dies ist eine weniger bestimmte Suche als die durch den FindBySubjectDistinguishedName-Enumerationswert bereitgestellte.This is a less specific search than that provided by the FindBySubjectDistinguishedName enumeration value. Mit dem FindBySubjectName-Wert führt die Find(X509FindType, Object, Boolean)-Methode einen Zeichenfolgenvergleich ohne Berücksichtigung der Groß- und Kleinschreibung unter Verwendung des angegebenen Werts aus.Using the FindBySubjectName value, the Find(X509FindType, Object, Boolean) method performs a case-insensitive string comparison using the supplied value. Wenn Sie beispielsweise "MyCert" an die Find(X509FindType, Object, Boolean)-Methode übergeben, wird nach allen Zertifikaten mit einem Antragstellernamen gesucht, der diese Zeichenfolge enthält, ungeachtet anderer Werte für den Antragsteller.For example, if you pass "MyCert" to the Find(X509FindType, Object, Boolean) method, it will find all certificates with the subject name containing that string, regardless of other subject values. Die Suche anhand des Distinguished Name ist ein genaueres Verfahren.Searching by distinguished name is a more precise search.

FindByTemplateName FindByTemplateName FindByTemplateName FindByTemplateName 9

Der findValue-Parameter für die Find(X509FindType, Object, Boolean)-Methode muss eine Zeichenfolge sein, die den Vorlagennamen des Zertifikats darstellt, z. B. "ClientAuth".The findValue parameter for the Find(X509FindType, Object, Boolean) method must be a string representing the template name of the certificate, such as "ClientAuth". Ein Vorlagenname ist eine X509-Erweiterung, Version 3, in der die Zertifikatsverwendungen angegeben sind.A template name is an X509 version 3 extension that specifies the uses of the certificate.

FindByThumbprint FindByThumbprint FindByThumbprint FindByThumbprint 0

Der findValue-Parameter für die Find(X509FindType, Object, Boolean)-Methode muss eine Zeichenfolge sein, die den Fingerabdruck des Zertifikats darstellt.The findValue parameter for the Find(X509FindType, Object, Boolean) method must be a string representing the thumbprint of the certificate.

FindByTimeExpired FindByTimeExpired FindByTimeExpired FindByTimeExpired 8

Der findValue-Parameter für die Find(X509FindType, Object, Boolean)-Methode muss ein DateTime-Wert für die Ortszeit sein.The findValue parameter for the Find(X509FindType, Object, Boolean) method must be a DateTime value in local time. Alle Zertifikate, die bis zum Ende des Jahres gültig sind, können durch das Ausschließen der Ergebnisse eines Find(X509FindType, Object, Boolean)-Vorgangs für FindByTimeExpired des letzten Tags des Jahres von den Ergebnissen eines Find(X509FindType, Object, Boolean)-Vorgangs für Now gesucht werden.For example, you can find all the certificates that will be valid until the end of the year by eliminating the results of a Find(X509FindType, Object, Boolean) operation for FindByTimeExpired of the last day of the year from the results of a Find(X509FindType, Object, Boolean) operation for Now.

FindByTimeNotYetValid FindByTimeNotYetValid FindByTimeNotYetValid FindByTimeNotYetValid 7

Der findValue-Parameter für die Find(X509FindType, Object, Boolean)-Methode muss ein DateTime-Wert für die Ortszeit sein.The findValue parameter for the Find(X509FindType, Object, Boolean) method must be a DateTime value in local time. Der Wert muss nicht in der Zukunft liegen.The value does not have to be in the future. Sie können z. B. mit FindByTimeNotYetValid Zertifikate suchen, die im aktuellen Jahr gültig wurden, indem Sie die Schnittmenge der Ergebnisse eines Find(X509FindType, Object, Boolean)-Vorgangs für FindByTimeNotYetValid für den letzten Tag des Jahres mit den Ergebnissen eines Find(X509FindType, Object, Boolean)-Vorgangs für FindByTimeValid von Now nehmen.For example, you can use FindByTimeNotYetValid to find certificates that became valid in the current year by taking the intersection of the results of a Find(X509FindType, Object, Boolean) operation for FindByTimeNotYetValid for the last day of last year with the results of a Find(X509FindType, Object, Boolean) operation for FindByTimeValid of Now.

FindByTimeValid FindByTimeValid FindByTimeValid FindByTimeValid 6

Der findValue-Parameter für die Find(X509FindType, Object, Boolean)-Methode muss ein DateTime-Wert für die Ortszeit sein.The findValue parameter for the Find(X509FindType, Object, Boolean) method must be a DateTime value in local time. Sie können alle gerade gültigen Zertifikate mithilfe von Now suchen.You can use Now to find all the currently valid certificates.

Beispiele

Im folgenden Beispiel wird der persönliche Zertifikat Speicher des aktuellen Benutzers geöffnet, es werden nur gültige Zertifikate gesucht, der Benutzer kann ein Zertifikat auswählen und dann Zertifikat Informationen in die Konsole geschrieben.The following example opens the current user's personal certificate store, finds only valid certificates, allows the user to select a certificate, and then writes certificate information to the console. Die Ausgabe hängt vom ausgewählten Zertifikat ab.The output depends on the certificate you select.

#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("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);
                X509Certificate2UI.DisplayCertificate(x509);
                x509.Reset();
            }
            catch (CryptographicException)
            {
                Console.WriteLine("Information could not be written out for this certificate.");
            }
        }
        store.Close();
    }
}
Imports System
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("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)
                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

X509FindTypeidentifiziert den Typ des Werts, der im findValue -Parameter für Find die-Methode bereitgestellt wird.X509FindType identifies the type of value provided in the findValue parameter for the Find method. Sie können verwenden X509FindType , um eine X509Certificate2 Sammlung nach Antragsteller Name, Fingerabdruck, Seriennummer, gültigem Datumsbereich oder anderem Wert zu durchsuchen.You can use X509FindType to search an X509Certificate2 collection by subject name, thumbprint, serial number, valid date range, or other value.

Sie können eine Kombination von FindByTime Werttypen verwenden, um Zertifikate zu suchen, die in einem bestimmten Zeitraum gültig sind.You can use a combination of FindByTime value types to find certificates that are valid in a given time range. Die Vereinigung der Zertifikate, die mit FindByTimeValid, FindByTimeNotYetValid und findbytimeabgelauffür eine bestimmte Zeit zurückgegeben wird, stellt alle Zertifikate in der abgefragten Sammlung dar.The union of certificates returned using FindByTimeValid, FindByTimeNotYetValid, and FindByTimeExpired for a given time represents all certificates in the queried collection.

Gilt für: