草庐IT

c# - 为什么 ServicePointManager.SecurityProtocol 默认值在不同机器上不同?

目前我有一个问题,找不到严格的答案。我有针对4.6.1框架的ASP.NETMVC5应用程序,它的目标是使用受TLS1.1/TLS1.2协议(protocol)保护的第三方API。我尝试在2个环境中运行我的应用程序:我的本地计算机Windows10,带有.NET4.6.2Framework,IISExpress;服务器计算机WindowsServer2012,带.NET4.6.1、IIS8.0;问题在于,当我在本地启动它时ServicePointManager.SecurityProtocol默认值设置为Ssl3,Tls,所以我无法定位API,必须编写代码它在应用程序上开始使用TLS1.

c# - 实现通过 SSL 使用 Web 服务的 C# 客户端?

因此,我已将ServiceReference添加到C#控制台应用程序,该应用程序调用从Oracle公开的Web服务。我已经设置好一切,当它不使用SSL(http)时,它就像桃子一样工作。我现在正尝试使用SSL对其进行设置,但在将其添加到服务引用(甚至Web引用)时遇到了问题。例如,当我尝试将其添加到VisualStudio中时,服务公开的URL(https)没有返回适当的Web方法。Theunderlyingconnectionwasclosed:Anunexpectederroroccurredonasend.ReceivedanunexpectedEOFor0bytesfromth

c# - MVC RequireHttps 如果不是 https 则重定向

我已经通读了许多关于ASP.NETMVC[RequireHttps]的问题-但找不到这个问题的答案:如果开头不是https,如何使[RequireHttps]属性将url切换为https?我有这个代码:publicActionResultDoSomething(){returnView("AnotherAction");}[RequireHttps]publicActionResultAnotherAction(){returnView();}但我收到一条错误消息:“请求的资源只能通过SSL访问。”MVCfutures项目有一个类似的属性[RequireSsl(Redirect=tru

c# - .NET 4.5 和 .NET 4.5.1 是否默认启用 TLS 1.1 和 TLS 1.2?

在我们的Windows2012ServerR2上,我们需要禁用TLS1.0。但是我们运行着.NET4.5Wcf服务。我们发现,如果我们禁用TLS1.0,WCF服务将不再运行,因为我们会收到错误消息“现有连接被远程主机强制关闭”。.NET4.5和.NET4.5.1是否默认启用TLS1.1/1.2?如果不是,我们假设是这种情况,在我们的WCF项目中,我们强制项目使用TLS1.1/1.2吗? 最佳答案 IsTLS1.1/1.2enabledbydefaultin.NET4.5and.NET4.5.1?没有。为各种框架版本启用的默认协议(p

C#/.NET - 如何在我的应用程序中允许 HTTPS 的 "custom"Root-CA(仅)?

好的,这是我需要做的:我的应用程序是用C#(.NETFramework4.5)编写的,需要通过HTTPS与我们的服务器通信。我们的服务器使用我们自己的Root-CA颁发的TLS/SSL证书。该Root-CA虽然完全受我的应用程序信任,但未安装在系统的“受信任的根”证书库中。因此,如果没有进一步的工作,C#将拒绝联系服务器,因为无法验证服务器的证书-正如预期的那样。注意:我们不能使用系统中已经安装的Root-CA。我该怎么做才能让我的应用程序(安全地)联系我们的服务器?我知道C#提供了将我们的Root-CA证书作为“受信任的根”安装到系统证书库中的类。这不是我们想要做的!那是因为(a)它

c# - 以编程方式将证书导入 IIS?

我有SSL的.pem证书,我想将它与我的Web应用程序一起分发到MSI中(必须在客户端的计算机上运行)。然后我需要将其导入(导入某些凭据存储区?)并告诉我的站点绑定(bind)使用它。但是我怎样才能在代码中做到这一点呢?我发现了Microsoft.Web.Administration,但不确定从那里去哪里......顺便说一句,这是在IIS7中。编辑:这里的目标是拥有一个客户可以在其内部网上运行的Web应用程序。它主要充当iPhone应用程序的API。(也许这不是最好的设计,但我们现在已经确定了。)所以客户安装了MSI,瞧,他们有一个Web服务。现在需要在iPhone和web服务之间进

c# - 使用 HTTPS 和 httpWebRequest

我正在向paypalapi服务器发送httpwebrequests,这使用https。我做了您通常对HTTP请求所做的正常操作,并且成功了。我是否需要执行任何特殊操作才能正确使用https,或者在请求URL中指定https是否足以使其正常工作?谢谢!顺便说一句,我的请求是从我的服务器发送的,所以加密它们并不像从客户端计算机发送的那样重要,但我仍然想做正确的事。 最佳答案 在使用HttpWebRequest时,只需将http与https交换就足够了。它不需要对https请求进行特殊处理。

c# - 无法创建 SSL/TLS 安全通道 - 问题可能出在代理服务器上吗?

我有一个c#应用程序,它调用一个使用证书进行身份验证的Web服务方法。该代码有效,因为当它安装在服务器A(没有代理)上时,它会进行身份验证。当我在客户端站点的服务器B上安装代码时,它安装在代理后面。我真的几乎尝试了所有方法,但我一直收到此错误:无法创建SSL/TLS安全通道您认为此问题可能是由代理服务器引起的吗?如果您对此有任何个人经验,请分享。谢谢 最佳答案 根据我的经验,几乎所有此类消息都是由于链中的某些机器(客户端、代理、服务器)出于某种原因不“喜欢”证书。详细说明twk所说的内容,如果您使用的是自签名证书或您自己的CA,您需

c# - 使用 c# Webclient 通过 https 请求 html

我正在尝试通过c#WebClient类从我无法控制的站点获取各种html资源。当我尝试访问诸如"https://archive.org/details/OTRR_In_The_Name_Of_The_Law_Singles"我得到错误:System.Net.WebException:请求已中止:无法创建SSL/TLS安全通道。我找到了建议我使用以下代码忽略证书要求并使webclient充当浏览器的解决方案,但我仍然收到相同的错误ServicePointManager.ServerCertificateValidationCallback=newRemoteCertificateVali

c# - HttpClient 的多个证书

我正在构建一个WindowsPhone8.1应用程序,它允许Azure用户使用Azure服务管理API查看他们的订阅/服务。身份验证是使用管理证书完成的,证书附加到对API的所有请求。它适用于单个用户。但是当我尝试包含多个订阅的功能时,问题就出现了。我能够在证书存储中安装证书并检索它。但是当我向API发送请求时,问题就出现了。即使我附加了正确的证书,我也会收到403forbidden错误。这是我使用的代码。publicasyncTaskGetCertificate(){awaitCertificateEnrollmentManager.ImportPfxDataAsync(Certif