之前我曾使用HttpWebRequests将数据发布到HTTPS网站,而且我从来没有像普通的HTTP Post那样做任何不同的事情。
有没有人知道我是否错过任何技巧以确保这项工作正确完成?
答案 0 :(得分: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 :(得分:2)
检查认证错误,这是一个常见问题 http://www.west-wind.com/weblog/posts/48909.aspx
答案 2 :(得分:1)
我认为https是一个托管问题,您必须使用您的证书(或证书链)配置密钥库,设置您的ssl / tls,映射您的DNS设置(也为http完成)并继续。我没有看到任何会话/传输层问题应该影响应用程序的原因。
然而,我有一个例子,我们必须检测智能卡删除并关闭会话。为此,我们必须检查每个请求的SSO令牌并检查有效性。这更多地与架构的智能卡方面有关,而不是https。
答案 3 :(得分:0)
HTTPS请求与HTTP相同(仅使用SSL证书)。
但是,您应该手动确保证书没有错误(甚至是警告),否则请求可能会失败。