2008-10-28 48 views
3

我以前使用HttpWebRequests将数据发布到HTTPS网站,而且我从来没有像普通的HTTP Post那样做过任何事情。通过SSL的HttpWebRequest?

有没有人知道是否有任何涉及到的技巧,我错过了,以确保这是正确的?

回答

0

HTTPS请求与HTTP相同(仅使用SSL证书)。

但是,您应该手动确保证书没有错误(甚至是警告),否则请求可能会失败。

+0

如果证书是ssl请求,我们将如何进行验证? – 2008-10-28 17:03:28

4

一点点搜索后,它看起来像你没有做任何事情,如果证书有效。

如果你想自己检查证书,你可以这样做:

System.Net.ServicePointManager.ServerCertificateValidationCallback += 
    delegate(object sender, System.Security.Cryptography.X509Certificates.X509Certificate certificate, 
          System.Security.Cryptography.X509Certificates.X509Chain chain, 
          System.Net.Security.SslPolicyErrors sslPolicyErrors) 
     { 
      return true; // **** Always accept 
     }; 

上面的代码来自一个评论Rick Stralhs博客,并会强制始终接受客户端证书。

您也可以验证该委托中的证书。

很酷的东西!

1

我认为https是一个托管问题,你必须配置你的证书(或证书链)的密钥库,设置你的ssl/tls,映射你的dns设置(也为http完成)并继续。我没有看到会话/传输层问题会影响应用程序的任何原因。

如何,我有一个实例,我们必须检测到智能卡删除并关闭会话。为此,我们必须检查每个请求的SSO标记并检查其有效性。这更多的是与架构的智能卡方面有关,而不是https。