Microsoft Dynamics 365 客户接洽 (联机) 的连接要求使用 TLS 1.2

在中Dynamics 365 (在线) 版本 9。x 和 Dynamics 365 (在线) 政府版本 8.2我们将开始要求连接到客户服务应用程序利用 1.2 (或更好) 的 TLS 安全性。此选项与更新的 Microsoft 行业安全政策和最佳做法,您可能还需要采取措施以保持与 Dynamics 365 客户服务应用程序的连接。请查看以下信息以帮助您识别是否会受到影响,并且您的步骤可能需要采取。 

TLS 是什么?

TLS 代表"传输层安全",是一种行业标准协议旨在保护个人隐私的信息通过互联网交流。 许多 web 浏览器并通过 HTTPS 和 TCP 进行通信的应用程序中使用 TLS。 

有什么变化?

今天,所有 Dynamics 365 客户服务联机版本都支持 TLS 1.0,1.1 和 1.2,但起始 Dynamics 365 (在线) 版本 9 的发行版。x 和 Dynamics 365 (在线) 政府版本 8.2,我们将开始锁定来自客户端或使用 TLS 1.0 和 1.1 版的浏览器连接更新的产品。

请注意:这种更改仅影响 Microsoft Dynamics 365 在线客户服务,不在内部部署版本。 

如何将您或您的客户会受到影响?

与 Dynamics 365 (在线) 版本的所有连接 9.x或Dynamics 365 (在线) 政府版本 8.2将失效,如果他们不使用 TLS 1.2 安全协议。 这样做会影响几个动态服务 (在下面列出),包括 Dynamics 365 客户服务 web 应用程序的访问权限。 

您如何或您的客户避免将受到影响?

对于受支持的 web 浏览器 

所有受支持的浏览器为 Dynamics 365 客户接洽 (版本 7.x 版 – 版本 9.x) 当前符合 TLS 1.2 标准,并将继续像以前一样工作。但是,如果您已在您的浏览器上禁用 TLS 1.2 协议,则您将受到影响,失去组织.  

用于帮助标识您的浏览器支持 TLS 1.2 要求,请转到此验证测试页

由 Microsoft 提供的开发人员工具

请参见什么是客户服务的开发人员文档 9.0 版中的新增功能以获取最新的在我们的开发人员工具的文档。更新为最新版本的工具在开发中,使用从NuGET.开发人员工具的示例包括插件注册工具和配置迁移工具。这些工具 9.0 版本的向后兼容,可用于Dynamics 365 (在线) 版本 8.2 政府。 

对于用 Dynamics 365 SDK 生成的代码 

重新编译客户端应用程序使用.NET framework 4.6.2 或更高版本。 如果您的代码已经编译的.net 4.6.2 或更高版本,则不还有无需任何操作。对于自定义插件和工作流程序集,.net 4.5.2 应继续使用。 

Visual Studio 2015年的已知的问题

当在调试模式下运行在 VS 2015 项目解决方案时,没有一个已知的问题,您可能无法连接到 Dynamics 365 (在线) 版本 9。x 或Dynamics 365 (在线) 版本 8.2 政府.无论您是否使用目标框架或更高的 4.6.2 发生这种情况。这可能会因为对.NET 4.5,这意味着,默认情况下它不支持 TLS 1.2 编译 Visual Studio 的宿主进程。作为解决办法,可以禁用 Visual Studio 宿主进程。在 Visual Studio 中的项目名称上右键单击,然后单击属性。在调试选项卡上您可以取消选择启用宿主进程选项 Visual Studio。 

请注意: 这只会影响 VS 2015 中的调试体验。 这不会影响这些二进制文件或可执行文件的生成。 在 Visual Studio 2017年未出现同样的问题。

 

.Net 的一个重要说明基于应用程序

您可以强制使用 TLS 1.2 协议使用下面的命令:

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12; 

这会强制 TLS 1.2 安全协议在所有时间。  这不是建议当您运行不需要更新此行业通过采用新的安全协议时的风险。 

不能重新编译现有代码  

您可以使用注册表设置会强制.NET 可以利用的最高安全标准的 Windows 上。  

请注意: 这是计算机范围设置,可能会产生意外影响。 建议您或您的客户利用到.NET 4.6.2 重新编译的方法或更高版本。  

更新注册表,请在Microsoft 安全公告 2960358文章中记录强制.NET 4.5.2 希望采用 TLS 1.2 计算机范围的设置。  在"手动运行.NET Framework 4.5/4.5.1/4.5.2 系统上禁用在 TLS 的 RC4"下看到"建议措施"一节。 

对于非.NET 软件 

请与您的供应商如何启用 TLS 1.2。 对于大多数语言它可以完成简单的配置项。 

对于 Powershell 添加 [System.Net.ServicePointManager]::SecurityProtocol = [Powershell 脚本之前调用 Get CrmConnection 到 System.Net.SecurityProtocolType]::Tls12。  

对于 Microsoft outlook Dynamics 365  

Dynamics 365 (在线) 政府版本 8.2和 Dynamics 365 (在线) 版本 9.x 

为统一的服务台 (美元)

下载最新版本的统一服务台(版本 3.1、 3.2 和 3.3 是 TLS 1.2 兼容) 

如果您希望继续使用旧版本的统一技术服务人员,您将需要更新客户端台式机的注册表项

对于 Dynamics 365 的报表创作 

Dynamics 365 (在线) 政府版本 8.2 

Dynamics 365 (在线) 版本 9.x 

为电子邮件路由器 Dynamics 365    

Dynamics 365 (在线) 政府版本 8.2 

Dynamics 365 (在线) 版本 9.x 

示例错误

下面是一些使用 TLS 1.2 安全协议时可能遇到的潜在连接错误: 

 

浏览器错误: 

"不能安全地连接到此页

这可能是因为使用了过时的或不安全的 TLS 安全性设置。 这使出现这情况,请联系网站所有者。

 

连接器错误:

"Microsoft.Xrm.Tooling.CrmConnectControl 信息: 8: 在连接的登录状态是 = 验证连接到 Microsoft Dynamics CRM... 

Microsoft.Xrm.Tooling.Connector.CrmServiceClient 错误: 2: 错误请求令牌从身份验证上下文 

Microsoft.Xrm.Tooling.Connector.CrmServiceClient 错误: 2: 源: mscorlib 

方法: ThrowIfExceptional 

错误:发生了一个或多个错误。 

堆栈跟踪: 在 System.Threading.Tasks.Task.ThrowIfExceptional (布尔型 includeTaskCanceledExceptions) 

   在 System.Threading.Tasks.Task'1.GetResultCore (布尔型 waitCompletionNotification) 

   在 System.Threading.Tasks.Task'1.get_Result() 

   在 Microsoft.Xrm.Tooling.Connector.CrmWebSvc.ExecuteAuthenticateServiceProcess (Uri serviceUrl,ClientCredentials clientCredentials,UserIdentifier 用户,字符串的客户机 Id、 Uri redirectUri,PromptBehavior promptBehavior,字符串 tokenCachePath布尔型 isOnPrem,证书颁发机构,Uri & targetServiceUrl,AuthenticationContext authContext,字符串的字符串和资源) 

内部异常级别 1:  

Source     : Microsoft.IdentityModel.Clients.ActiveDirectory 

方法: 关闭 

错误:未设置为对象的一个实例的对象引用。 

堆栈跟踪: 在 Microsoft.IdentityModel.Clients.ActiveDirectory.HttpWebResponseWrapper.Close() 

   在 Microsoft.IdentityModel.Clients.ActiveDirectory.AuthenticationParameters。 < CreateFromResourceUrlCommonAsync > d__0.MoveNext() 

---端的堆栈跟踪从引发异常的位置---的上一个位置 

   在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (任务) 

   在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (任务) 

   在 Microsoft.IdentityModel.Clients.ActiveDirectory.AuthenticationParameters。 < CreateFromResourceUrlAsync > d__8.MoveNext()"

 

开发人员工具错误: 

"内部异常级别 1:  

来源: 系统 

方法: GetResponse 

错误:基础连接已关闭: 发送时发生意外的错误。 

堆栈跟踪: 在 System.Net.HttpWebRequest.GetResponse() 

   在 System.ServiceModel.Description.MetadataExchangeClient.MetadataLocationRetriever.DownloadMetadata (TimeoutHelper timeoutHelper) 

   在 System.ServiceModel.Description.MetadataExchangeClient.MetadataRetriever.Retrieve (TimeoutHelper timeoutHelper) 

内部异常级别 2:  

来源: 系统 

方法: 阅读 

错误: 无法从传输连接中读取数据: 远程强行关闭现有连接主机。

堆栈跟踪: 在 System.Net.Sockets.NetworkStream.Read 字节 [] 缓冲区、 偏移量 Int32 (Int32 大小) 

   在 System.Net.FixedSizeReader.ReadPacket (字节 [] 缓冲区,Int32 偏移 Int32 计数) 

   在 System.Net.Security.SslState.StartReceiveBlob (字节 [] 缓冲区,AsyncProtocolRequest asyncRequest)"

更多信息

博客文章: Microsoft 安全博客 > Microsoft 支持 TLS 1.2

Dynamics 365 (联机),版本 9.0 自述 / 已知问题

受支持的扩展 

Web 应用程序的要求 

需要更多帮助?

扩展你的技能
了解培训
抢先获得新功能
加入 Microsoft 内部人员

此信息是否有帮助?

谢谢您的反馈意见!

谢谢你的反馈! 可能需要转接到 Office 支持专员。

×