如何使用C#或VB读取SSL证书的序列号



我正在进行一个项目,在该项目中,我需要能够将预期的SSL证书序列号与从服务器检索到的证书的实际序列号进行比较。我如何在C#或VB中做到这一点?

您应该使用x509certificate2类:

using System.Net;
using System.Security.Cryptography.X509Certificates;
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("Url of the site");
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
response.Close();
var cerificateFromClient = request.ServicePoint.Certificate;   
X509Certificate2 certificateFromServer = new X509Certificate2("path to certificate", "Passwod");
var serialFromClient = cerificateFromClient.GetSerialNumberString();
var serialFromServer = certificateFromServer.GetSerialNumberString();  
//Checking if both the serial numbers are same
bool isSame = string.Equals(serialFromClient, serialFromClient);

只需使用X509Certificate2.SerialNumber属性。

最新更新