X509Certificate 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
提供帮助你使用 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 方法。
构造函数
属性
| Handle | 
		 获取非托管   | 
        	
| 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 对象的实例所需的所有数据。  |