我住在以色列,谷歌也有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
或O
或 _ _等同于相应的Google的值吗?
如果我(首先)得到google.com证书(这是所需的),后来我得到了 google.co.il证书(不期望)?