我正在进行一个项目,在该项目中,我需要能够将预期的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属性。