X509Certificate 类

定义

提供帮助你使用 X.509 v.3 证书的方法。

public ref class X509Certificate : IDisposable, System::Runtime::Serialization::IDeserializationCallback, System::Runtime::Serialization::ISerializable
public ref class X509Certificate : IDisposable
public ref class X509Certificate
public ref class X509Certificate : System::Runtime::Serialization::IDeserializationCallback, System::Runtime::Serialization::ISerializable
public class X509Certificate : IDisposable, System.Runtime.Serialization.IDeserializationCallback, System.Runtime.Serialization.ISerializable
public class X509Certificate : IDisposable
[System.Serializable]
public class X509Certificate
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public class X509Certificate : System.Runtime.Serialization.IDeserializationCallback, System.Runtime.Serialization.ISerializable
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public class X509Certificate : IDisposable, System.Runtime.Serialization.IDeserializationCallback, System.Runtime.Serialization.ISerializable
type X509Certificate = class
    interface IDisposable
    interface IDeserializationCallback
    interface ISerializable
type X509Certificate = class
    interface IDisposable
type X509Certificate = class
    interface IDisposable
    interface ISerializable
    interface IDeserializationCallback
[<System.Serializable>]
type X509Certificate = class
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type X509Certificate = class
    interface IDeserializationCallback
    interface ISerializable
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type X509Certificate = class
    interface IDisposable
    interface IDeserializationCallback
    interface ISerializable
Public Class X509Certificate
Implements IDeserializationCallback, IDisposable, ISerializable
Public Class X509Certificate
Implements IDisposable
Public Class X509Certificate
Public Class X509Certificate
Implements IDeserializationCallback, ISerializable
继承
X509Certificate
派生
属性
实现

示例

以下示例从文件加载 X.509 证书,调用 ToString 方法,并将结果显示到控制台。

using namespace System;
using namespace System::Security::Cryptography::X509Certificates;
int main()
{
   
   // The path to the certificate.
   String^ Certificate = L"Certificate.cer";
   
   // Load the certificate into an X509Certificate object.
   X509Certificate^ cert = gcnew X509Certificate( Certificate );
   
   // Get the value.
   String^ resultsTrue = cert->ToString( true );
   
   // Display the value to the console.
   Console::WriteLine( resultsTrue );
   
   // Get the value.
   String^ resultsFalse = cert->ToString( false );
   
   // Display the value to the console.
   Console::WriteLine( resultsFalse );
}
using System;
using System.Security.Cryptography.X509Certificates;

public class X509
{

    public static void Main()
    {

        // The path to the certificate.
        string Certificate = "Certificate.cer";

        // Load the certificate into an X509Certificate object.
        X509Certificate cert = new X509Certificate(Certificate);

        // Get the value.
        string resultsTrue = cert.ToString(true);

        // Display the value to the console.
        Console.WriteLine(resultsTrue);

        // Get the value.
        string resultsFalse = cert.ToString(false);

        // Display the value to the console.
        Console.WriteLine(resultsFalse);
    }
}
Imports System.Security.Cryptography.X509Certificates

Module X509

    Sub Main()

        ' The path to the certificate.
        Dim Certificate As String = "Certificate.cer"

        ' Load the certificate into an X509Certificate object.
        Dim cert As New X509Certificate(Certificate)

        ' Get the value.
        Dim resultsTrue As String = cert.ToString(True)

        ' Display the value to the console.
        Console.WriteLine(resultsTrue)

        ' Get the value.
        Dim resultsFalse As String = cert.ToString(False)

        ' Display the value to the console.
        Console.WriteLine(resultsFalse)

    End Sub
End Module

注解

ASN.1 DER 是此类支持的唯一证书格式。

在大多数情况下,应改用 X509Certificate2 类。

重要

从 .NET Framework 4.6 开始,此类型实现 IDisposable 接口。 在使用完类型后,您应直接或间接释放类型。 若要直接释放类型,请在 try/catch 块中调用其 Dispose 方法。 若要间接释放类型,请使用 using(在 C# 中)或 Using(在 Visual Basic 中)等语言构造。 有关详细信息,请参阅 IDisposable 接口主题中的“使用实现 IDisposable 的对象”一节。

对于面向 .NET Framework 4.5.2 及更早版本的应用, X509Certificate 类不实现 IDisposable 接口,因此没有 Dispose 方法。

构造函数

X509Certificate()
已过时.
已过时.

初始化 X509Certificate 类的新实例。

X509Certificate(Byte[])
已过时.

初始化从表示 X.509v3 证书的字节序列定义的 X509Certificate 类的新实例。

X509Certificate(Byte[], SecureString)
已过时.

使用一个字节数组和一个密码初始化 X509Certificate 类的新实例。

X509Certificate(Byte[], SecureString, X509KeyStorageFlags)
已过时.

使用一个字节数组、一个密码和一个密钥存储标志初始化 X509Certificate 类的新实例。

X509Certificate(Byte[], String)
已过时.

使用一个字节数组和一个密码初始化 X509Certificate 类的新实例。

X509Certificate(Byte[], String, X509KeyStorageFlags)
已过时.

使用一个字节数组、一个密码和一个密钥存储标志初始化 X509Certificate 类的新实例。

X509Certificate(IntPtr)

使用非托管 PCCERT_CONTEXT 结构的句柄初始化 X509Certificate 类的一个新实例。

X509Certificate(SerializationInfo, StreamingContext)
已过时.

使用一个 X509Certificate 对象和一个 SerializationInfo 结构初始化 StreamingContext 类的一个新实例。

X509Certificate(String)
已过时.

使用 PKCS7 签名文件的名称初始化 X509Certificate 类的新实例。

X509Certificate(String, SecureString)
已过时.

使用一个证书文件名和一个密码初始化 X509Certificate 类的新实例。

X509Certificate(String, SecureString, X509KeyStorageFlags)
已过时.

使用一个证书文件名、一个密码和一个密钥存储标志初始化 X509Certificate 类的新实例。

X509Certificate(String, String)
已过时.

使用 PKCS7 签名文件的名称和一个用于访问该证书的密码初始化 X509Certificate 类的新实例。

X509Certificate(String, String, X509KeyStorageFlags)
已过时.

使用 PKCS7 签名文件的名称、一个用于访问该证书的密码和一个密钥存储标志初始化 X509Certificate 类的新实例。

X509Certificate(X509Certificate)

使用另一个 X509Certificate 类初始化 X509Certificate 类的一个新实例。

属性

Handle

获取非托管 PCCERT_CONTEXT 结构所描述的 Microsoft Cryptographic API 证书上下文的句柄。

Issuer

获取颁发此 X.509v3 证书的证书颁发机构的名称。

SerialNumberBytes

获取证书序列号的 big-endian 表示形式。

Subject

获取证书的主题可分辨名称。

方法

CreateFromCertFile(String)
已过时.

依据指定的 PKCS7 签名文件创建 X.509v3 证书。

CreateFromSignedFile(String)
已过时.

依据指定的签名文件创建 X.509v3 证书。

Dispose()

释放由当前 X509Certificate 对象使用的所有资源。

Dispose(Boolean)

释放此 X509Certificate 使用的所有非托管资源,并且可选择释放托管资源。

Equals(Object)

比较两个 X509Certificate 对象是否相等。

Equals(Object)

确定指定对象是否等于当前对象。

(继承自 Object)
Equals(X509Certificate)

比较两个 X509Certificate 对象是否相等。

Export(X509ContentType)

X509Certificate 值之一所描述的格式将当前 X509ContentType 对象导出到字节数组。

Export(X509ContentType, SecureString)

使用指定的格式和密码将当前 X509Certificate 对象导出到字节数组。

Export(X509ContentType, String)

使用指定的密码,以 X509Certificate 值之一所描述的格式将当前 X509ContentType 对象导出到字节数组。

FormatDate(DateTime)

将指定的日期和时间转换为字符串。

GetCertHash()

将 X.509v3 证书的哈希值作为字节数组返回。

GetCertHash(HashAlgorithmName)

返回使用指定加密哈希算法计算的 X.509v3 证书的哈希值。

GetCertHashString()

以十六进制字符串的形式返回 X.509v3 证书的 SHA1 哈希值。

GetCertHashString(HashAlgorithmName)

返回包含使用指定加密哈希算法计算的 X.509v3 证书的哈希值的十六进制字符串。

GetEffectiveDateString()

返回此 X.509v3 证书的有效日期。

GetExpirationDateString()

返回此 X.509v3 证书的到期日期。

GetFormat()

返回此 X.509v3 证书的格式名称。

GetHashCode()

返回整数形式的 X.509v3 证书的哈希代码。

GetIssuerName()
已过时.
已过时.
已过时.

返回颁发此 X.509v3 证书的证书颁发机构的名称。

GetKeyAlgorithm()

以字符串形式返回此 X.509v3 证书的密钥算法信息。

GetKeyAlgorithmParameters()

将 X.509v3 证书的密钥算法参数作为字节数组返回。

GetKeyAlgorithmParametersString()

以十六进制字符串的形式返回此 X.509v3 证书的密钥算法参数。

GetName()
已过时.
已过时.
已过时.

返回已向其颁发证书的主体的名称。

GetPublicKey()

将 X.509v3 证书的公钥作为字节数组返回。

GetPublicKeyString()

将 X.509v3 证书的公钥作为十六进制字符串返回。

GetRawCertData()

将整个 X.509v3 证书的原始数据作为字节数组返回。

GetRawCertDataString()

将整个 X.509v3 证书的原始数据作为十六进制字符串返回。

GetSerialNumber()

将 X.509v3 证书的序列号以 little-endian 的顺序作为字节数组返回。

GetSerialNumberString()

将 X.509v3 证书的序列号作为 little-endian 十六进制字符串返回。

GetType()

获取当前实例的 Type

(继承自 Object)
Import(Byte[])
已过时.
已过时.

使用字节数组中的数据填充 X509Certificate 对象。

Import(Byte[], SecureString, X509KeyStorageFlags)
已过时.
已过时.

使用一个字节数组中的数据、一个密码和一个密钥存储标志填充 X509Certificate 对象。

Import(Byte[], String, X509KeyStorageFlags)
已过时.
已过时.

使用一个字节数组中的数据、一个密码和用于确定如何导入私钥的标志填充 X509Certificate 对象。

Import(String)
已过时.
已过时.

使用证书文件中的信息填充 X509Certificate 对象。

Import(String, SecureString, X509KeyStorageFlags)
已过时.
已过时.

使用一个证书文件中的信息,一个密码和一个密钥存储标志填充 X509Certificate 对象。

Import(String, String, X509KeyStorageFlags)
已过时.
已过时.

使用一个证书文件中的信息、一个密码和一个 X509Certificate 值填充 X509KeyStorageFlags 对象。

MemberwiseClone()

创建当前 Object 的浅表副本。

(继承自 Object)
Reset()

重置 X509Certificate2 对象的状态。

ToString()

返回当前 X509Certificate 对象的字符串表示形式。

ToString(Boolean)

返回当前 X509Certificate 对象的字符串表示形式,如果指定,带有其他信息。

TryGetCertHash(HashAlgorithmName, Span<Byte>, Int32)

尝试为证书生成“指纹”,方法是使用指定的哈希算法对已编码的证书表示形式进行哈希处理。

显式接口实现

IDeserializationCallback.OnDeserialization(Object)

实现 ISerializable 接口,并在完成反序列化后由反序列化事件回调。

ISerializable.GetObjectData(SerializationInfo, StreamingContext)

获取序列化信息,其中包含重新创建当前 X509Certificate 对象的实例所需的所有数据。

适用于