我想验证远程 SSL 证书。
我有一个X509Certificate2实例并通过以下方式访问它:
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://www.paypal.com/de/webapps/mpp/home");
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
response.Close();
X509Certificate cert = request.ServicePoint.Certificate;
X509Certificate2 cert2 = new X509Certificate2(cert);
byte[] rawdata = cert2.RawData;
MessageBox.Show(cert2.GetNameInfo(X509NameType.EmailName,true));
但我现在怎么知道,这真的是我的证书?
那么我现在如何验证它?如果我做:
虚拟代码:
if(Certificate.URL = "MYSAFEURL.COM") {//OK}
有人可以“修改”我的 .exe 中的字符串以将 MYSAFEURL 更改为whatever.com
那么有什么方法可以100%确定证书是真的吗?