如何通过 web.config 实现“SecurityProtocolType.Ssl、Ssl1、Ssl2、Ssl3;”,而不是在 global.asax.cs 中

2024-03-04

我的问题很简单,我已经阅读了这两个主要页面:

  • 请求被中止:无法创建 SSL/TLS 安全通道 https://stackoverflow.com/questions/2859790/the-request-was-aborted-could-not-create-ssl-tls-secure-channel
  • MSDN - 元素 https://msdn.microsoft.com/en-us/library/zsk61s76(v=vs.110).aspx

但从第一个链接开始,它显示了在 global.asax.cs 中设置的 SecurityProtocol 的配置,以解决问题

“System.Net.WebException:请求已中止:无法创建 SSL/TLS 安全通道。”

在这里,我希望这个配置被设置在网络.配置/应用程序.配置,只是为了使其针对自己的项目而不是针对所有 asp.net 项目稍微具体一些...然后我认为第二个链接 {msdn.microsoft.com.....} 就是这样,但 SSL/TLS 错误是还在那里......所以我的问题如何通过web.config实现以下内容?

ServicePointManager.Expect100Continue = true;
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls
        | SecurityProtocolType.Tls11
        | SecurityProtocolType.Tls12
        | SecurityProtocolType.Ssl3;

我也读过此页通过配置强制在 WCF 客户端 C# 中使用 tls 1.0 https://stackoverflow.com/questions/32693391/force-by-config-to-use-tls-1-0-in-a-wcf-client-c-sharp,但没有答案。

然后...我刚刚找到这些页面:

  • https://msdn.microsoft.com/en-us/library/ms731328(v=vs.110).aspx https://msdn.microsoft.com/en-us/library/ms731328(v=vs.110).aspx
  • https://msdn.microsoft.com/en-us/library/ms731377(v=vs.100).aspx https://msdn.microsoft.com/en-us/library/ms731377(v=vs.100).aspx

然后我像这样实现我的自定义绑定:

<customBinding >
      <binding name="SureTaxSoap">                  
           <sslStreamSecurity requireClientCertificate="true"   sslProtocols="Ssl3|Tls|Tls11|Tls12" >                    
                </sslStreamSecurity>
            </binding>
</customBinding>

但 sslProtocols="Ssl3|Tls|Tls11|Tls12" 未识别


通常,枚举是从 web.config 中的字符串转换而来的,使用Enum.Parse or Enum.TryParse。我预计(但尚未检查参考源来确认)WCF 设置也是如此。

Enum.Parse使用逗号分隔基于标志的枚举值,但如果需要,也可以将等效的整数值解析为字符串。

因此,如果您的问题是在 web.config 设置中连接基于标志的枚举值,您可以使用逗号分隔来实现此目的,例如:

sslProtocols="SSl3, Tls"
sslProtocols="SSl3, Tls, Tls11, Tls12"

或者,如果你的问题是Tls12不是一个可识别的值,那么这只是在 .NET 4.5 中添加的。如果您正在针对 .NET 4.0 进行编译,则它不会解析为命名枚举。但是,.NET 4.5 是 4.0 的就地更新,因此如果您有 4.5已安装您也许能够解析数值:

sslProtocols="4080"

这是从所有数值的总和中得出的System.Net.SecurityProtocolType枚举。这些数值也与中的值相同System.Security.Authentication.SslProtocols and System.IdentityModel.SchProtocols,所以我猜测它们在你的情况下是相同的。

Ssl3 = 48,
Tls = 192,
Tls11 = 768,
Tls12 = 3072

当然,如果您可以使用它,那么至少升级到 Visual Studio 2012 / .NET 4.5 可能会更清晰,其中命名字符串应该可用。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何通过 web.config 实现“SecurityProtocolType.Ssl、Ssl1、Ssl2、Ssl3;”,而不是在 global.asax.cs 中 的相关文章

随机推荐

  • 在camerax中捕获没有音频的视频

    我想使用camerax api在应用内相机中捕获没有音频的视频 我使用的是beta10的camerax api 我尝试过设置音频缓冲区大小和音频源等 截至此答案尚不支持 但当使用camerax库完全发布视频录制时 这将是可能的 最好的方法是
  • 如何对星期几进行直方图并具有字符串标签

    我有一个日期数据框 日期对象 见底部 我试图将它们转换为星期几 然后绘制直方图 但理想情况下标签是 星期一 星期日 不是数字 我有两个不同的问题 这很容易将日期对象转换为星期几 https stat ethz ch pipermail r
  • Rails 服务器错误:Ruby 版本是 1.8.7,但您的 Gemfile 指定为 1.9.3

    我输入了现有的 ruby 应用程序 然后输入 导轨 想在这里启动rails服务器 但它说 您的 Ruby 版本是 1 8 7 但您的 Gemfile 指定为 1 9 3 事实上 我有一个1 8 7 但我把它删除了 如果我这样做 红宝石 v
  • 我想在matlab中计算两行的平均值

    我在 matlab 中有一个 1028 x 18 矩阵 我想在 Matlab 中计算第一行和第二行按列值 第三行和第四行等的平均值 并得到一个具有平均值的新矩阵 我想你想计算每对行的列平均值 将数组重塑为 2 x 18 1028 2 计算平
  • RenderScript 支持库在 x86 设备上崩溃

    我正在运行致命异常android support v8 renderscript 在 Razor i x86 设备 上 如果我使用 问题就会消失android renderscript ARM设备也没有问题 这是例外情况 03 03 18
  • Spyder IDE 中的重复日志条目和锁定日志文件

    我想要的 我的 python 脚本运行 将日志消息输出到控制台和文件 一旦 python 脚本完成运行 我希望能够删除 编辑日志文件 我在 Windows7 上使用 Spyder IDE 示例代码 import logging loggin
  • Paypal 沙盒帐户电子邮件确认

    我在开发者网站上创建了一个沙箱帐户 当帐户所在国家 地区不在列表中时 一切都很好 然后 我通过 创建测试帐户 网站中的链接创建了另一个帐户 该帐户所在的国家 地区不在之前的列表中 它的电子邮件未经确认 我找不到激活它的方法 没有它我就无法接
  • 从 Dropzone 中删除任何现有文件会显示 dictDefaultMessage

    我创建了一个显示服务器上现有文件的放置区 我添加了有效的删除链接 我的问题是 当我使用删除链接删除文件时 默认的 将文件拖到此处上传 消息会出现在拖放区中 即使仍然有缩略图 我已经关注了这个tutorial http www startut
  • 自定义验证属性:比较同一模型中的两个属性

    有没有一种方法可以在 ASP NET Core 中创建自定义属性来验证一个日期属性是否小于模型中的其他日期属性ValidationAttribute 可以说我有这个 public class MyViewModel Required Com
  • quartz.NET 的任何开源管理 UI

    是否有任何开源管理界面可以在 QUARTZ NET 调度程序中添加 编辑 删除作业和触发器 看看这个blog http bugsquash blogspot com 2010 06 embeddable quartznet web cons
  • Magento:SQLSTATE [23000]:违反完整性约束:1062 键“UNQ_SALES_FLAT_ORDER_IN”的重复条目“100000001”

    我已经安装了 Magento 1 9 0 1 并且已经上线 1 个月了 客户的第一个订单没有出现任何问题 但现在 当应该处理订单时 会出现以下错误消息 处理您的订单时出错 请联系我们或稍后重试 日志文件说 异常 PDOException 消
  • Kafka s3 连接“值不是结构类型”错误

    我使用以下参数加载 s3 连接器 confluent load s3 sink name s3 sink config connector class io confluent connect s3 S3SinkConnector task
  • jenkins 服务无法在 Windows 2008 上启动

    我正在尝试将 Jenkins 作为服务安装在 Windows Server 2008 Datacenter SP2 上 我似乎无法让它作为服务运行 寻找任何想法来帮助实现它 当我尝试使用本机 Windows 软件包安装 Jenkins 时
  • Android,是否可以从拨号器运行该应用程序?

    我需要 如果可能的话 为我的项目添加一种功能 以便在用户输入诸如 之类的代码时运行1234 在拨号器中 我不确定这是否可能 目前 当我从应用程序文件夹中午餐我的应用程序时 它会启动 但只是为了好玩 我想知道我可以使用代码来午餐吗 您可以通过
  • 如何使用护照和快递显示自定义错误消息

    我在注册用户时检查电子邮件是否已经存在 如果用户已经存在 我会传递错误消息 电子邮件已存在 但在前端它显示 未经授权 错误401 我想传递我从后端传递到前端的错误消息 但它传递了默认消息 下面是我检查用户是否已存在并发送错误消息的方法 ex
  • 绑定到 MonoDroid/Android 的 MvvmCross 中的路径 ImageView

    在我的案例路径中 MyZooSnap Core component Resources Images i jpg Android 的路径转换方法ImageView 为了在以下绑定中使用它 AssetImagePath Path ImageP
  • 如何在rails中使用simple_form中的CSS将两个div放在同一行?

    将两个 div 放在同一行是一个老问题 但在 Rails 中使用 simple form 时我找不到解决方案 我想要做的是将内容及其标签显示在同一行上 标签的宽度为 125px left 内容在右边 right 标签中的文本右对齐 内容中的
  • 在剥离的 ELF 可执行文件中设置断点

    我有一个 ELF 32 位动态链接 剥离文件 我希望对其进行调试 尝试在某个地址设置断点时 出现一条消息 提示符号表未加载 我的问题是 当你说 ELF 文件是stripped究竟发生了什么 如何剥离 ELF 文件 是否可以以某种方式重建符号
  • 如何在“清除所有”后恢复 MATLAB 中的断点?

    我有一个习惯 所有 MATLAB 脚本都以clear all close all clc 虽然这是一条非常有用的行 但一旦执行 它就会清除我所有的断点 有没有一种简单的方法可以避免这种情况 我通过创建一个保存和重新加载断点的脚本解决了这个问
  • 如何通过 web.config 实现“SecurityProtocolType.Ssl、Ssl1、Ssl2、Ssl3;”,而不是在 global.asax.cs 中

    我的问题很简单 我已经阅读了这两个主要页面 请求被中止 无法创建 SSL TLS 安全通道 https stackoverflow com questions 2859790 the request was aborted could no