X509Certificate2UI.SelectFromCollection Méthode

Définition

Affiche une boîte de dialogue permettant de sélectionner un certificat X.509 dans une collection de certificats.

Surcharges

Nom Description
SelectFromCollection(X509Certificate2Collection, String, String, X509SelectionFlag)

Affiche une boîte de dialogue permettant de sélectionner un certificat X.509 dans une collection de certificats.

SelectFromCollection(X509Certificate2Collection, String, String, X509SelectionFlag, IntPtr)

Affiche une boîte de dialogue permettant de sélectionner un certificat X.509 dans une collection de certificats à l’aide d’un handle vers une fenêtre parente.

Remarques

Utilisez cette méthode si vous avez besoin que les utilisateurs sélectionnent manuellement des certificats X.509 à l’aide d’une boîte de dialogue. Si aucune interaction utilisateur n’est requise, utilisez la X509Certificate2Collection.Find méthode.

SelectFromCollection(X509Certificate2Collection, String, String, X509SelectionFlag)

Source:
X509Certificate2UI.cs
Source:
X509Certificate2UI.cs
Source:
X509Certificate2UI.cs
Source:
X509Certificate2UI.cs
Source:
X509Certificate2UI.cs
Source:
X509Certificate2UI.cs
Source:
X509Certificate2UI.cs

Affiche une boîte de dialogue permettant de sélectionner un certificat X.509 dans une collection de certificats.

public:
 static System::Security::Cryptography::X509Certificates::X509Certificate2Collection ^ SelectFromCollection(System::Security::Cryptography::X509Certificates::X509Certificate2Collection ^ certificates, System::String ^ title, System::String ^ message, System::Security::Cryptography::X509Certificates::X509SelectionFlag selectionFlag);
public static System.Security.Cryptography.X509Certificates.X509Certificate2Collection SelectFromCollection(System.Security.Cryptography.X509Certificates.X509Certificate2Collection certificates, string? title, string? message, System.Security.Cryptography.X509Certificates.X509SelectionFlag selectionFlag);
public static System.Security.Cryptography.X509Certificates.X509Certificate2Collection SelectFromCollection(System.Security.Cryptography.X509Certificates.X509Certificate2Collection certificates, string title, string message, System.Security.Cryptography.X509Certificates.X509SelectionFlag selectionFlag);
static member SelectFromCollection : System.Security.Cryptography.X509Certificates.X509Certificate2Collection * string * string * System.Security.Cryptography.X509Certificates.X509SelectionFlag -> System.Security.Cryptography.X509Certificates.X509Certificate2Collection
Public Shared Function SelectFromCollection (certificates As X509Certificate2Collection, title As String, message As String, selectionFlag As X509SelectionFlag) As X509Certificate2Collection

Paramètres

certificates
X509Certificate2Collection

Collection de certificats X.509 à sélectionner.

title
String

Titre de la boîte de dialogue.

message
String

Message descriptif pour guider l’utilisateur. Le message s’affiche dans la boîte de dialogue.

selectionFlag
X509SelectionFlag

Une des X509SelectionFlag valeurs qui spécifie si des sélections uniques ou multiples sont autorisées.

Retours

Objet X509Certificate2Collection qui contient le certificat ou les certificats sélectionnés.

Exceptions

Le selectionFlag paramètre n’est pas un indicateur valide.

Le certificates paramètre est null.

Le certificates paramètre n’est pas valide.

Exemples

L’exemple de code suivant montre comment afficher des boîtes de dialogue d’interface utilisateur pour sélectionner et afficher des certificats X.509.

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

Remarques

Utilisez la SelectFromCollection méthode si vous avez besoin que les utilisateurs sélectionnent manuellement des certificats X.509 à l’aide d’une boîte de dialogue. Si aucune interaction utilisateur n’est requise, utilisez la X509Certificate2Collection.Find méthode.

S’applique à

SelectFromCollection(X509Certificate2Collection, String, String, X509SelectionFlag, IntPtr)

Source:
X509Certificate2UI.cs
Source:
X509Certificate2UI.cs
Source:
X509Certificate2UI.cs
Source:
X509Certificate2UI.cs
Source:
X509Certificate2UI.cs
Source:
X509Certificate2UI.cs
Source:
X509Certificate2UI.cs

Affiche une boîte de dialogue permettant de sélectionner un certificat X.509 dans une collection de certificats à l’aide d’un handle vers une fenêtre parente.

public:
 static System::Security::Cryptography::X509Certificates::X509Certificate2Collection ^ SelectFromCollection(System::Security::Cryptography::X509Certificates::X509Certificate2Collection ^ certificates, System::String ^ title, System::String ^ message, System::Security::Cryptography::X509Certificates::X509SelectionFlag selectionFlag, IntPtr hwndParent);
public static System.Security.Cryptography.X509Certificates.X509Certificate2Collection SelectFromCollection(System.Security.Cryptography.X509Certificates.X509Certificate2Collection certificates, string? title, string? message, System.Security.Cryptography.X509Certificates.X509SelectionFlag selectionFlag, IntPtr hwndParent);
public static System.Security.Cryptography.X509Certificates.X509Certificate2Collection SelectFromCollection(System.Security.Cryptography.X509Certificates.X509Certificate2Collection certificates, string title, string message, System.Security.Cryptography.X509Certificates.X509SelectionFlag selectionFlag, IntPtr hwndParent);
[System.Security.SecurityCritical]
public static System.Security.Cryptography.X509Certificates.X509Certificate2Collection SelectFromCollection(System.Security.Cryptography.X509Certificates.X509Certificate2Collection certificates, string title, string message, System.Security.Cryptography.X509Certificates.X509SelectionFlag selectionFlag, IntPtr hwndParent);
static member SelectFromCollection : System.Security.Cryptography.X509Certificates.X509Certificate2Collection * string * string * System.Security.Cryptography.X509Certificates.X509SelectionFlag * nativeint -> System.Security.Cryptography.X509Certificates.X509Certificate2Collection
[<System.Security.SecurityCritical>]
static member SelectFromCollection : System.Security.Cryptography.X509Certificates.X509Certificate2Collection * string * string * System.Security.Cryptography.X509Certificates.X509SelectionFlag * nativeint -> System.Security.Cryptography.X509Certificates.X509Certificate2Collection
Public Shared Function SelectFromCollection (certificates As X509Certificate2Collection, title As String, message As String, selectionFlag As X509SelectionFlag, hwndParent As IntPtr) As X509Certificate2Collection

Paramètres

certificates
X509Certificate2Collection

Collection de certificats X.509 à sélectionner.

title
String

Titre de la boîte de dialogue.

message
String

Message descriptif pour guider l’utilisateur. Le message s’affiche dans la boîte de dialogue.

selectionFlag
X509SelectionFlag

Une des X509SelectionFlag valeurs qui spécifie si des sélections uniques ou multiples sont autorisées.

hwndParent
IntPtr

nativeint

Handle vers la fenêtre parente à utiliser pour la boîte de dialogue d’affichage.

Retours

Objet X509Certificate2Collection qui contient le certificat ou les certificats sélectionnés.

Attributs

Exceptions

Le selectionFlag paramètre n’est pas un indicateur valide.

Le certificates paramètre est null.

Le certificates paramètre n’est pas valide.

Remarques

Utilisez la SelectFromCollection méthode si vous avez besoin que les utilisateurs sélectionnent manuellement des certificats X.509 à l’aide d’une boîte de dialogue. Si aucune interaction utilisateur n’est requise, utilisez la X509Certificate2Collection.Find méthode.

S’applique à