X509Certificate2UI.DisplayCertificate 方法

定义

显示一个对话框,其中包含 X.509 证书及其关联证书链的属性。

重载

DisplayCertificate(X509Certificate2)

显示一个对话框,其中包含 X.509 证书及其关联证书链的属性。

DisplayCertificate(X509Certificate2, IntPtr)

使用父窗口的句柄显示一个对话框,其中包含 X.509 证书及其关联证书链的属性。

注解

此方法显示一个对话框,其中包含有关指定 X.509 证书的详细信息。 该对话框包含用于安装或复制证书的按钮。

DisplayCertificate(X509Certificate2)

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

显示一个对话框,其中包含 X.509 证书及其关联证书链的属性。

C#
public static void DisplayCertificate (System.Security.Cryptography.X509Certificates.X509Certificate2 certificate);

参数

certificate
X509Certificate2

要显示的 X.509 证书。

例外

certificate 参数为 null

certificate 参数无效。

示例

下面的代码示例演示如何显示用户界面对话框以选择和查看 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();
    }
}

注解

方法 DisplayCertificate 显示一个对话框,其中包含有关指定 X.509 证书的详细信息。 该对话框包含用于安装或复制证书的按钮。

适用于

.NET 9 和其他版本
产品 版本
.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

DisplayCertificate(X509Certificate2, IntPtr)

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

使用父窗口的句柄显示一个对话框,其中包含 X.509 证书及其关联证书链的属性。

C#
public static void DisplayCertificate (System.Security.Cryptography.X509Certificates.X509Certificate2 certificate, IntPtr hwndParent);
C#
[System.Security.SecurityCritical]
public static void DisplayCertificate (System.Security.Cryptography.X509Certificates.X509Certificate2 certificate, IntPtr hwndParent);

参数

certificate
X509Certificate2

要显示的 X.509 证书。

hwndParent
IntPtr

用于显示对话框的父窗口的句柄。

属性

例外

certificate 参数为 null

certificate 参数无效。

注解

方法 DisplayCertificate 显示一个对话框,其中包含有关指定 X.509 证书的详细信息。 此方法可用于嵌套显示证书信息的对话框。 该对话框包含用于安装或复制证书的按钮。

适用于

.NET 9 和其他版本
产品 版本
.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