C# 服务HTTPS 对 请求被中止: 未能创建 SSL/TLS 安全通道报错

1.如果windows支持HTTPS的TLS协议,则可以直接跳过 (Tls12)

WebMethod(Description = "获取HttpsPost加密服务.")

public string HTTPSPOST(String input,String sUrl)

{

Log.Add("ReceiveNotice", "HTTPSPOST", "入参sUrl:" + sUrl + ",input:" + input);

HttpWebRequest webReq = null;

ServicePointManager.ServerCertificateValidationCallback = new System.Net.Security.RemoteCertificateValidationCallback(CheckValidationResult);

// 此处对HTTPS校验 TLS进行跳过

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls | SecurityProtocolType.Ssl3 | (SecurityProtocolType)192 | (SecurityProtocolType)768 | (SecurityProtocolType)3072;

webReq = WebRequest.Create(sUrl) as HttpWebRequest;

webReq.ProtocolVersion = HttpVersion.Version10;

webReq.Method = "POST";

webReq.ContentType = "application/json";

StreamWriter writer = new StreamWriter(webReq.GetRequestStream());

writer.Write(input);

writer.Flush();

HttpWebResponse response = (HttpWebResponse)webReq.GetResponse();//获取服务器返回的结果

Stream getStream = response.GetResponseStream();

StreamReader streamreader = new StreamReader(getStream, Encoding.UTF8);

String result = streamreader.ReadToEnd();

Log.Add("ReceiveNotice", "HTTPSGET", "出参:" + result);

return result;

}

2.如果postman能测试通过,服务一直返回 请求被中止: 未能创建 SSL/TLS 安全通道

则判断Windows是否支持 TLS12

验证系统是否支持TLS1.2、TLS1.3

WIN+R PowerShell 打开:

Net.ServicePointManager::SecurityProtocol

Net.ServicePointManager::SecurityProtocol = Net.SecurityProtocolType::Ssl3 -bor Net.SecurityProtocolType::Tls -bor Net.SecurityProtocolType::Tls11 -bor Net.SecurityProtocolType::Tls12

返回:Ssl3, Tls, Tls11, Tls12 则支持TLS12

如果返回不包含 Tls11, Tls12 先注册表注册试试看是否可以。

如果不行,则系统升级到Windows10 或者 服务器系统 升级 server 2016

相关推荐
金銀銅鐵22 分钟前
[Java] 展示增删元素时 LinkedList 的内部变化
java·后端·ai编程
布吉岛的石头1 小时前
Java 程序员第 50 阶段3:数据工程:预训练语料清洗与去重
java·开发语言·人工智能·深度学习·transformer
大文说跨境1 小时前
防关联浏览器的指纹覆盖到什么程度:六类参数的实测与自检方法
java·指纹浏览器·tiktok运营
Carol06302 小时前
上肢及肩肘关节
java·服务器·数据库
yliucherish2 小时前
Log4Shell 复现实录:我读 OpenJDK 源码,发现两道防线的默认值竟然相反
java
维拉德2 小时前
Java新人第一次接打标需求:从抓包找接口到客户端展示
java
luobobo8962 小时前
支付回调验签连续失败三天,最后发现是网关的时间戳单位问题
java
BBmmo2 小时前
Java InputStream.read() 为什么返回 int?
java
阿松爱学习2 小时前
【Unity开发】Unity长截图功能实现
unity·c#·游戏引擎
Nuanyt2 小时前
LeetCode Hot100 刷题笔记 · 普通数组专题
java·笔记·算法·leetcode