Tag: https

调用https Web服务(C#)

我实现了一个web服务,该服务在一些https url下可用。 客户端(控制台应用程序)调用它,但抛出以下错误: 提供的URI方案“https”无效; 预计’http’。 我在网上搜索过,但我不确定如何解决它? 这是通过向Web服务添加一些代码来解决的吗? 谢谢 :-)

可以处理HTTPS的WebBrowser控件

我正在寻找.NET中可以处理HTTPS的WebBrowser控件的替代品。 此问题在Stack Overflow上类似,但这些控件都不提供HTTPS。 顺便提一下,我尝试了所有这些 GeckoFx – 开发停止了 Se7en – 这实际上是继续GeckoFx Webkitdotnet – 没有人在论坛上回复 但它们都不支持HTTPS,所以我有点卡在这里:/。 另外,提到.NET框架附带的WebBrowser控件可以很好地使用HTTPS,但我无法使用它的原因是因为我的应用程序使用了很多 IE拒绝呈现的javascript,例如Firefox(壁虎引擎) )或Chrome(webkit)工作正常。 所以,如果有人知道可以做到这一点的良好控件(可以是Webkit或Gecko包装器,它不介意,只要它不是IE包装器)。 谢谢!

使用RequireHttpsAttribute ASP.NET Core的HTTP错误310 ERR_TOO_MANY_REDIRECTS

我正在使用MVC在ASP.NET核心上构建一个应用程序。 我也在我的应用程序中使用Identity和Entity 7框架。 我正在Microsoft Azure上运行应用程序,该应用程序应附带HTTPS证书。 我正在使用此代码在我的Startup.cs中启用HTTPS services.AddMvc(options => { #if !DEBUG options.Filters.Add(new RequireHttpsAttribute()); #endif }); 我的问题是,当我访问网络应用程序时,我得到一个310 HTTP ERR_TOO_MANY_REDIRECTS响应。 我已经尝试清除我的cookie并将Web应用程序重新发布到Azure,但这些都没有成功。 当我禁用上面的代码时,我的应用程序在Azure上运行。 当我在浏览器中手动键入https://时,我得到一个安全的HTTPS连接。

实现http / https和socks代理的库

我寻找实现http / https和socks-proxy的库。 我试着谷歌它,但我发现的唯一的类/ libs实现了袜子没有袜子ssl或ssl。 也许任何人都有这个问题的解决方案,或者你可以给我一个建议如何自己实现它也有帮助。 Thx提前。 PS 似乎这个琐碎的技术.NET只有商业解决方案我不能相信它!?

在http://到https:// redirect期间重定向循环

我试图强制页面在SSL下运行,所以我在page_load上实现了以下内容: if (!Request.IsLocal && !Request.IsSecureConnection) { Response.Redirect(Helper.GetInstance().SSLBaseURL() + ScriptName()); } 出于某种原因,这最终会在一个循环中结束。 今天早些时候,我检查了Request.Uri.Scheme,它正在解析为“http”,虽然我显然已经连接到https://www.domain.com/pagename.aspx 。 您是否有任何理由可以想到为什么此页面无法正确检测到我们是否在https下运行?

使用webclient从https下载文件时出错

我创建了一段代码,使用WebClient从给定的URL下载文件。 问题是当代码尝试从HTTPS站点下载文件时,我收到以下错误。 The remote certificate is invalid according to the validation procedure 此问题仅发生在不在本地计算机上的服务器上,因此我也不知道如何调试它。 我在网上看了几个答案,但没有找到任何可以帮助我的东西。 这段代码: using (WebClient Client = new WebClient()) { string fileName = System.Configuration.ConfigurationManager.AppSettings[“siteUploadedDirectory”] + “/temp/” + Context.Timestamp.Ticks.ToString() + “_” + FileURL.Substring(FileURL.LastIndexOf(‘/’)+1); fileName = Server.MapPath(fileName); Client.DownloadFile(FileURL, fileName); return fileName + “|” + FileURL.Substring(FileURL.LastIndexOf(‘/’)+1); } 我正在尝试的url: http://Otakim.co.il/printreferrer.aspx?ReferrerBaseURL=cloudents.com &ReferrerUserName=ram &ReferrerUserToken=1 &FileURL=https://www.cloudents.com/d/lzodJqaBYHu/pD0nrbAtHSq 文件URL:FileURL = https://www.cloudents.com/d/lzodJqaBYHu/pD0nrbAtHSq 任何帮助将不胜感激

通信安全:Fiddler拦截我的谈话。 我如何保护我的应用程序?

我构建了一个GData应用程序并发送了我的Google凭据以使用我的帐户。 Fiddler可以轻松拦截我的通信并显示用户名和密码。 有什么方法可以防止窥探? 如果不是,有人可以轻松揭示我的密码…… POST https://www.google.com/accounts/ClientLogin HTTP/1.1 Content-Type: application/x-www-form-urlencoded Host: www.google.com Content-Length: 109 Expect: 100-continue Connection: Keep-Alive Email=xxxxxxxxxx%40gmail.com&Passwd=veryhigh-secure-ultra-strenght-passord-is-this-HHDGdgddhdyhghdeeehdeg^3h37373dE^^^+–XXXxxx123123h37ddg3g36dhjfhfg6373udbgd634t&source=database&service=writely&accountType=HOSTED_OR_GOOGLE 附加:我们了解Google Docs的公共SSL证书。 我们可以检查一下它是在客户端的PC上使用还是有假的? 有帮助吗? 更新和结论: Fiddler充当中间人并在Windows的受信任的根证书中注入假根证书。 商店。 然后为目标站点生成假证书。 浏览器使用伪造的认证 – 公共密钥 – 并加密和发送数据给Fiddler本身。 Fiddler使用伪根证书-private密钥解密数据。 然后使用远程站点的原始认证并加密数据并发送到目标站点。 对响应浏览器反向重复相同的操作。 我只是问如何在另一个问题上检测这些假certificate。 如果我使用.NET构建一个简单的应用程序,应用程序将依赖并使用Windows的“默认/存储”认证用于目标站点。 如果没有,Fiddler将动态生成一个。 所以… 我不依赖Windows上的证书并直接从目标站点获取真实证书/或者我必须在我的应用程序中包含有效的目标站点证书。 我必须修改Google Data API的源代码,以便在我的https通信中使用我附带的-authentic one-SSL证书 – 一个简单的.crt文件。 因此,数据将在我的应用程序中加密,并仅在目标站点解密。 保护记忆 – 让事情变得更难 – 是下一步。 我已经把这些东西写成了未来的参考,以便谁来研究相同的主题并得到你的认可。 谢谢。 有人已经提到假证书: 用DNS探测中间人的攻击作者:Jason […]

C#中的HTTPS POST,Winforms(Stream Writer,HttpWebResponse,HttpWebRequest)

更新:我正在尝试将数据发布到https URI。 POST适用于HTTP,但HTTPS uri失败 嗨,我正在创建ac#winforms exe以将数据发布到网站。 代码如下。 问题是,流重复我的post数据.. 例如:假设我想发布这个 – > username=bob 然后,当我检查流量时,实际发送的是, username=bobusername=bob 看到? 它重复,它再次将相同的行添加到缓冲区的末尾并发送它。 我试图在两天内找到这个问题我很疯狂..任何人都可以解决这个问题或者给我一些提示吗? 谢谢.. (内容长度正确设置为12,但在将相同数据再次附加到缓冲区尾部后,它会发送24个字节) 有标题 POST /login/ HTTP/1.0 Content-Type: application/x-www-form-urlencoded Host: abc.test.com Content-Length: 12 username=bobusername=bob – 这是我目前使用的代码 string post_data = “username=bob”; string uri = “https://abc.test.com/login/”; HttpWebRequest request = (HttpWebRequest) WebRequest.Create(uri); request.KeepAlive = false; request.ProtocolVersion = HttpVersion.Version10; request.Method = “POST”; byte[] […]

Xamarin.Forms HTTPS和自签名证书问题

我正在使用Xamarin.Forms,我的优先级是UWP。 我试图通过System.Net.Http.HttpClient发布一个post请求,我的代码看起来像这样 public async Task Login(User user) { HttpClient client = await GetClient(); var response = await client.PostAsync(Url, new StringContent(JsonConvert.SerializeObject(user), Encoding.UTF8, “application/json”)); var mobileResult = await response.Content.ReadAsStringAsync(); var result = JsonConvert.DeserializeObject(mobileResult); return result; } 当我提出请求时,我收到此错误 System.Net.Http.HttpRequestException:发送请求时发生错误。 —> System.Runtime.InteropServices.COMException:找不到与此错误代码关联的文本。 证书颁发机构无效或不正确 在System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务)的System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)在System.Net.Http.HttpHandlerToFilter.d__4.MoveNext()—堆栈跟踪结束抛出exception的前一个位置— System.Runtime.Compiler服务上的System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务),System.Net.Http.HttpClientHandler.d__86.MoveNext的System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务) )—内部exception堆栈跟踪的结束—在System.Net.Http.HttpClientHandler.d__86.MoveNext()—从抛出exception的先前位置的堆栈跟踪结束—在System.Runtime.CompilerServices System.Net.Http.HttpClient.d__58.MoveNext()的System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)中的.TaskAwaiter.ThrowForNonSuccess(任务任务)—来自先前位置的堆栈跟踪结束 rown —位于System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)的System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务), 1.GetResult() at SampleApp.Services.LoginService.d__2.MoveNext() — End of stack trace from previous […]

HTTPS Web请求失败

当我运行下面包含的程序时,第一个HTTPS请求成功,但第二个请求失败。 两个url都是有效的,并且都可以在浏览器中成功访问。 有关成功访问第二个URL需要做什么的任何建议? using System; using System.IO; using System.Net; public class Program { private static void Main(string[] args) { var content = “”; bool status; var url1 = “https://mail.google.com”; var url2 = “https://my.ooma.com”; status = DoHttpRequest(url1, out content); OutputStatus(url1, status, content); status = DoHttpRequest(url2, out content); OutputStatus(url2, status, content); Console.ReadLine(); } private static void OutputStatus(string […]