【发布时间】:2016-03-26 15:02:19
【问题描述】:
我正在进行一个项目,我需要能够将预期的 SSL 证书序列号与我从服务器检索到的证书的实际序列号进行比较。如何在 C# 或 VB 中做到这一点?
【问题讨论】:
-
不是我的语言,链接也不是答案。但如果我正在研究它,我会从这里开始paulstovell.com/blog/x509certificate2
标签: c# vb.net ssl ssl-certificate
我正在进行一个项目,我需要能够将预期的 SSL 证书序列号与我从服务器检索到的证书的实际序列号进行比较。如何在 C# 或 VB 中做到这一点?
【问题讨论】:
标签: c# vb.net ssl ssl-certificate
你应该使用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 属性。
【讨论】: