Tag: https

C#通过SSL / TLS获取xml站点 – https://

我需要能够从控制台程序中的https网站读取xml / rss。 直到现在我的程序支持普通的http,我一直在搜索,但我似乎找不到一个简单的方法来实现对https的支持。 如果网站有一个有效的证书,这没关系,但我会擅长获取如何检查这些证书的提示。 我可能不太了解这个,所以任何暗示都是适当的! 我目前为http做的是: XmlTextReader rssReader; XmlDocument rssDoc; rssReader = new XmlTextReader(url); rssDoc = new XmlDocument(); rssDoc.Load(rssReader); 在没有可信证书的站点上尝试此操作时,我收到错误消息:“基础连接已关闭:无法为SSL / TLS安全通道建立信任关系。” string url = “https://somesite.com”; HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); HttpWebResponse response = (HttpWebResponse)request.GetResponse(); Stream resStream = response.GetResponseStream(); 我的程序需要支持受信任和不受信任的https站点。 程序正在服务器上运行,因此必须在代码中处理不受信任的https站点。

C#如何确定HTTPS

如何确定并强制用户仅使用HTTPS查看我的网站? 我知道它可以通过IIS完成,但想知道它是如何以编程方式完成的。

我的自定义代理服务器上的SSL(https)错误

这是我的模式代码! 当我从Firefox发送http请求它工作正常! 但当我尝试https firefox回复时: 连接到mail.yahoo.com时发生错误。 SSL收到了内容类型未知的记录。 (错误代码:ssl_error_rx_unknown_record_type) 我调试它成功连接到https的代码并重新接收字节但是当它传递给套接字时它会拒绝: Tehre是8080的听众,我的代码是: ServicePointManager.ServerCertificateValidationCallback = new System.Net.Security.RemoteCertificateValidationCallback(AcceptAllCertifications); System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3; CookieContainer cookie = new CookieContainer(); if (strClientConnection.Contains(“443”)) { strClientConnection = “https://” + strClientConnection.Replace(“:443″,””); }; HttpWebRequest request = (HttpWebRequest)WebRequest.Create(strClientConnection); request.CookieContainer = cookie; request.KeepAlive = true; request.Timeout = 120000; request.AllowAutoRedirect = true; request.ReadWriteTimeout = 120000; request.Method = “POST”; { using (HttpWebResponse […]

通过HTTPS使用Web服务时抛出System.Net.WebException

当使用HTTPS调用在服务器上运行的Web服务时,我的应用程序抛出System.Net.WebException,并显示消息“底层连接已关闭:无法与远程服务器建立信任关系”。 我不知道如何解决这个问题并成功拨打电话。

如何在使用相对URL时更改http / https协议

协议相对URL 不是我正在寻找的。 我正在寻找一种绝对指定协议(http vs https)的方法,同时保持url相对的主机名。 给定一个相对URL,例如“/ SearchForStuff”,我希望能够指定不同的协议“https vs. http”等,而不必指定主机/域名。 我们的网站有一个标题局部视图,我们在我们网站的每个页面的顶部显示。 网站上的一些页面是http,有些是https。 标题包含用于站点范围搜索的文本框和按钮。 网站搜索结果页面始终使用http提供,因此我们希望表单操作指向相对路径“/ find”。 但是,我们希望在我们的许多内部测试服务器(10.10.10.123等)以及面向公众的服务器(“www.publicfacingserver.com”)上使用相同的标头,理想情况下不会更改标题局部视图的内容。 基本上我正在寻找的是一种为搜索操作指定协议同时保持服务器/主机名相对的方法。 目前,为了确保用户无法从安全页面链接到站点搜索结果的安全页面,我们硬编码用于站点搜索的操作的绝对URL,完成协议和主机名,例如“http://www.publicsite.com/find”。 问题是在测试服务器上单击该操作会将您重定向回我们面向公众的站点。 因此,对于测试,我们对主机文件进行手动编辑,以使测试服务器的IP地址等于面向公众的站点名称。 这给开发人员带来了一些认知负担,并且还要求我们访问我们希望测试我们网站的任何非编码人员的计算机,以便在测试之前配置他们的主机文件,并在测试之后取消配置更改其主机文件。 下面的代码是我提出的最佳解决方案。 有谁知道更好的方法? 如果我的解决方案足够,它是否会产生任何安全漏洞? 我不明白它是怎么回事,因为如果恶意用户向我们面向IP地址X的公众发送请求但主机头中的主机名与该IP地址不匹配,这只会导致URL不稳定被提供给同一个用户。 换句话说,我没有看到任何人可以通过在另一个站点的消息板上发布URL或任何类似的东西来使用它来创建XSRF漏洞: public static string CurrentHostName(this UrlHelper helper, HttpProtocol protocol) { var result = string.Empty; if (protocol == HttpProtocol.Secure) result += “https://”; if (protocol == HttpProtocol.UnSecure) result += “http://”; if (protocol == […]

使用https的C#WebClient

我想使用https来使用WebClient的UploadData方法上传文件。 我想忽略服务器端证书validation(始终接受服务器证书并且仅使用https的加密function)。 我努力但却找不到类似的样品。 任何人都可以告诉我如何实施? 有参考样品吗? 我使用的是VSTS2008 + C#+ .Net 3.5。 目标服务器与IIS 7.0 + Windows Vista x64一起运行。

在使用HTTPS 443绑定托管的WCF服务中获取客户端IP地址

在我的一个需要的应用程序中,使用HTTPS 443绑定托管的WCF服务中的客户端IP地址。 我尝试了堆栈溢出和其他网站关于这个问题的大部分post但是当我在服务器中托管我的应用程序时它只是获取服务器IP地址但我需要客户端地址任何有任何想法 提前致谢..

寻找WCF basicHttpBinding https教程或样本

我使用VSTS 2008 + .Net 3.5 + C#开发控制台应用程序作为WCF客户端,并在服务器端IIS服务器(使用Windows Vista x64的服务器)中托管WCF服务。 目前,我的WCF客户端和服务器与http工作得很好。 现在我想添加https支持并仍然使用basicHttpBinding。 任何易于学习的教程? 我不想对我的WCF客户端/服务器进行太多修改,并希望找到一种涉及最小代码更改的方法。 🙂 BTW:对于IIS服务器证书,我希望客户端接受所有服务器证书。 我只使用https加密function。 乔治,提前谢谢

使用HTTPS和httpWebRequest

我发送httpwebrequests到paypal api服务器,这使用https。 我做了你通常用http请求做的正常事情,它起作用了。 我是否需要做一些特殊的事情才能正确使用https,或者在请求URL中指定https以使其正常工作? 谢谢! 顺便说一句,我的请求是从我的服务器发送的,因此加密它们并不像从客户端计算机发送它们那么重要,但我仍然想要做得对。

使用ASP.NET MVC App重定向HTTPS

我正在使用ASP.NET MVC 2,并且有一个通过HTTPS保护的登录页面。 为了确保用户始终通过SSL访问这些页面,我已将属性[RequireHttps]添加到控制器。 这完美地完成了这项工作。 当他们成功登录后,我想将它们重定向回HTTP版本。 但是,没有[RequireHttp]属性,我正在努力解决如何实现这一目标。 增加的(潜在的)复杂性是生产中的网站托管在域的路由上,但是为了开发和测试目的,它位于子目录/虚拟目录/应用程序中。 我是否过度思考这个问题,是否有一个简单的解决方案让我盯着我? 还是有点复杂?