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

相关推荐
IT空门:门主几秒前
本地的ip实现https访问-OpenSSL安装+ssl正式的生成(Windows 系统)
windows·https·ssl
铁锚2 分钟前
一个WordPress连续登录失败的问题排查
java·linux·服务器·nginx·tomcat
老胖闲聊3 分钟前
C# 注册表操作类
开发语言·c#
yychen_java9 分钟前
上云API二开实现三维可视化控制中心
java·无人机
理智的煎蛋10 分钟前
keepalived+lvs
java·开发语言·集成测试·可用性测试
CopyLower23 分钟前
Java与AI技术结合:从机器学习到生成式AI的实践
java·人工智能·机器学习
生命不息战斗不止(王子晗)33 分钟前
mybatis中${}和#{}的区别
java·服务器·tomcat
.生产的驴34 分钟前
Docker 部署Nexus仓库 搭建Maven私服仓库 公司内部仓库
java·运维·数据库·spring·docker·容器·maven
文人sec39 分钟前
接口自动化测试设计思路--设计实战
python·https·单元测试·自动化·pytest
橙子199110161 小时前
Kotlin 中的 Unit 类型的作用以及 Java 中 Void 的区别
java·开发语言·kotlin