我住在以色列,谷歌也有google.co.il
。
我创建了一个到google.com的网络请求(我只想连接到google.com!)
但在ServerCertificateValidationCallback
函数中,我似乎获得了2 个证书。
这是代码:
ServicePointManager.ServerCertificateValidationCallback =
(sender, certificate, chain, policyError) =>
{
var subject = ((X509Certificate2)certificate).GetName();
Console.WriteLine(subject);
// return true;
return XXX==YYY; // ????the 2'nd question is about this line
};
WebRequest oRequest;
WebResponse oResponse;
oRequest = WebRequest.Create("https://www.google.com/");
oResponse = oRequest.GetResponse();
代码(当return true
)启用时的结果是:
C=US, S=California, L=Mountain View, O=Google Inc, CN=www.google.com
C=US, S=California, L=Mountain View, O=Google Inc, CN=*.google.co.il
但我面临一个问题:
现在它发出 2 个证书:
为什么我会获得 2 个证书?
哪个值应该在“
XXX
”中,哪个值应该在“YYY
”中?(我的意思是,我应该将
CN
orO
或_等同于相应的 Google 价值吗?如果我(首先)获得了 google.com 证书(这是所需的),然后我获得了 google.co.il 证书(这是不想要的)怎么办?