当前位置: 首页 > 知识库问答 >
问题:

KB4344167安全更新中断TLS代码

古刚洁
2023-03-14

希望有人能帮助解决这个问题。最近,我们的机器更新了KB4344167,其中包括.NET 4.7.1的安全更新。不幸的是,此更新破坏了WebRequest的代码。当我们运行下面的代码时,我们会得到以下错误:

请求中止:无法创建SSL/TLS安全通道。

// Create a request for the URL.        
WebRequest request = WebRequest.Create(url);
//specify to use TLS 1.2 as default connection
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls;
request.Timeout = int.Parse(configmanager.GetSetting("Webtimeout"));
// Set proxy
request.Proxy = WebRequest.DefaultWebProxy;
request.Proxy.Credentials = CredentialCache.DefaultCredentials;
// Define a cache policy for this request only. 
HttpRequestCachePolicy noCachePolicy = new HttpRequestCachePolicy(HttpRequestCacheLevel.NoCacheNoStore);
request.CachePolicy = noCachePolicy;
ServicePointManager.ServerCertificateValidationCallback = (s, cert, chain, ssl) => true;
// Get the response.
HttpWebResponse response = (HttpWebResponse)request.GetResponse();

共有1个答案

宋俊艾
2023-03-14

@Damien_the Nonblivery有正确的答案。最终的问题是ServicePointManager和WebRequest.Create的顺序。反向这些行,因此在WebRequest.Create之前定义ServicePointManager解决了这个问题。我仍然不知道为什么在Create之后添加ServicePointManager解决了服务器迁移到TLS1.2时的原始问题,但现在我们不会担心这个问题了。

 类似资料:
  • 本文向大家介绍MySQL 错误代码1175:安全更新,包括了MySQL 错误代码1175:安全更新的使用技巧和注意事项,需要的朋友参考一下 示例 尝试更新或删除记录而不包括WHERE使用该KEY列的子句时出现此错误。 要执行删除或更新-输入: 要再次启用安全模式,请输入:            

  • MOSN 的 TLS 安全能力。 本文将向您展示 MOSN 的 TLS 安全能力。 证书方案 MOSN 支持通过 Istio Citadel 的证书签发方案,基于 Istio 社区的 SDS (Secret Discovery Service)方案为 Sidecar 配置证书,支持证书动态发现和热更新能力。为了支持更高级的安全能力,MOSN 没有使用 Citadel 的证书自签发能力,而是通过对接

  • 稳定性: 2 - 稳定的 tls 模块是对安全传输层(TLS)及安全套接层(SSL)协议的实现,建立在OpenSSL的基础上。 按如下方式引用此模块: const tls = require('tls'); TLS/SSL 概念 TLS/SSL 是 public/private key infrastructure (PKI),大部分情况下,每个服务器和客户端都应该有一个私钥。 私钥能有多种生成

  • 我曾经以为互联网安全总是处在社会和法律控制的范围里,但是在学习 TLS 的 过程中才意识到真实的互联网四处漏洞简直就是是一个Sin City。而TLS相关知 识就像美女包包里的避孕套和枪一样——我们希望永远也用不上,但是当不得不用 的时候,我们希望在手边。 加密技术 TLS 依赖两种加密技术: 对称加密(symmetric encryption) 非对称加密(asymmetric encrypti

  • 概述 Istio Auth的目标是提高微服务及其通信的安全性,而不需要修改服务代码。它负责: 为每个服务提供强大的身份,代表其角色,以实现跨集群和云的互通性 加密服务间通信和终端用户到服务的通信 提供密钥管理系统来自动执行密钥和证书的生成、分发、轮换和撤销 架构 下图展示Istio Auth架构,其中包括三个主要组件:身份、密钥管理和通信安全。它描述了Istio Auth如何用于加密服务间通信,在

  • 本文向大家介绍sitecore 安全断言,包括了sitecore 安全断言的使用技巧和注意事项,需要的朋友参考一下 示例 CanRunApplication 检查用户是否有权运行给定的应用程序。如果没有,AccessDeniedException则抛出。 HasAccess HasAccess将检查给定参数是否为true,否则AccessDeniedException将抛出。