C#客户端验证2个证书?

时间:2012-11-20 15:38:24

标签: c# .net security .net-4.0 certificate

我住在以色列,谷歌也有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个证书:

  1. 为什么我会获得2份证书?

  2. 哪个值应该在“XXX”中,哪个值应该在“YYY”中?

    (我的意思是,我应该将CNO _ _等同于相应的Google的值吗?

    如果我(首先)得到google.com证书(这是所需的),后来我得到了 google.co.il证书(期望)?

0 个答案:

没有答案