英語で読む

次の方法で共有


X509Certificate2UI クラス

定義

X.509 証明書を選択および表示するためのユーザー インターフェイス ダイアログを表示します。 このクラスは継承できません。

C#
public sealed class X509Certificate2UI
C#
public static class X509Certificate2UI
継承
X509Certificate2UI

次のコード例では、ユーザー インターフェイス ダイアログを表示して X.509 証明書を選択して表示する方法を示します。

C#
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();
    }
}

注釈

クラスの メソッドを X509Certificate2UI 使用して、X.509 証明書に関する詳細情報を表示するユーザー インターフェイス ダイアログを表示するか、ユーザーが X.509 証明書のコレクションから 1 つ以上の証明書を選択できるようにします。

コンストラクター

X509Certificate2UI()

X509Certificate2UI クラスのインスタンスを初期化します。

メソッド

DisplayCertificate(X509Certificate2)

X.509 証明書のプロパティや、関連する証明書チェインを表示するダイアログ ボックスを表示します。

DisplayCertificate(X509Certificate2, IntPtr)

X.509 証明書のプロパティや、関連する証明書チェインを表示するダイアログ ボックスを、親ウィンドウのハンドルを使用して表示します。

SelectFromCollection(X509Certificate2Collection, String, String, X509SelectionFlag)

証明書コレクションから X.509 証明書を選択するためのダイアログ ボックスを表示します。

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

証明書コレクションから X.509 証明書を選択するためのダイアログ ボックスを、親ウィンドウのハンドルを使用して表示します。

適用対象

製品 バージョン
.NET 6, 7, 8, 9
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9