リモート 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% 確実にする方法はありますか?