我需要使用TLS 1.2从我的.NET web服务的另一个版本将强制TLS 1.2.我找到一个资源说.NET4.6默认使用TLS1.2,因此听起来是最简单的解决方案.我更新了.NET框架并重新启动.在IIS中,我try 使用创建应用程序池.NET 4.6,但4.0是唯一的 Select .然后我发现了一些东西,它仍然会说4.0,因为4.6是对的"就地"更新.NET 4.0.所以我想也许我完了.然而,在一个错误页面,我得到了无关的原因,它说Microsoft .NET Framework Version:4.0.30319,所以似乎我还没有成功升级.任何关于如何确保我的应用程序池正在使用的指针.NET 4.6,或者更一般地说,如何启用TLS 1.2?

推荐答案

实际上,我们刚刚将一个.NETWeb服务升级到了4.6,以支持TLS1.2.

阿泰姆所说的是我们所做的第一步.我们将web服务的框架重新编译为4.6,并try 更改注册表项以启用TLS 1.2,尽管这不起作用:连接仍在TLS 1.0中.此外,我们不想在机器上禁止SLL 3.0、TLS 1.0或TLS 1.1:其他web服务可能正在使用它;我们在注册表上回滚了更改.

我们实际上改变了网络.配置文件告诉IIS:"嘿,请用4.6运行我".

以下是我们在网络上添加的更改.在中配置+重新编译.净4.6:

<system.web>
    <compilation targetFramework="4.6"/> <!-- Changed framework 4.0 to 4.6 -->

    <!--Added this httpRuntime -->
    <httpRuntime targetFramework="4.6" />

    <authentication mode="Windows"/>
    <pages controlRenderingCompatibilityVersion="4.0"/>
</system.web>

连接更改为TLS 1.2,因为IIS现在在4.6中运行Web服务(明确告知),而4.6在默认情况下使用TLS 1.2.

.net相关问答推荐

节省用户在整个应用程序中使用的Flutter

为什么.Net 8.0.100是预览版?

EF Core IEntityTypeConfigurations:从数据库提取数据后相关对象为空

.NET MAUI ListView - ObservableCollection - 在异步方法期间不更新

通过 System.Net.Mail 的 VB SMTP 停止工作

如何在 .net MAUI 中删除不需要编译的平台?

如何在 ASP.NET Core MVC 中读取操作方法的属性?

调整小数精度,.net

maxRequestLength 的最大值?

在c#中计算中位数

IIS Express - 500.19 无法读取配置文件 - 因为它正在查看错误的路径

如何判断一个类型是否是简单类型?即持有一个单一的价值

如何在 .NET 中将字符串转换为字节数组?

String 是原始类型吗?

您可以在 C# 代码中捕获本机异常吗?

我们应该总是在类中包含一个默认构造函数吗?

如何使用配置转换删除 ConnectionString

Linq to SQL - 返回前 n 行

如何重新启动 WPF 应用程序?

SqlCommand.CommandTimeout 和 SqlConnection.ConnectionTimeout 有什么区别?