首页
社区
课程
招聘
[求助]在win7 C#调用HttpWebRequest.GetRequestStream 报错的问题
发表于: 2021-5-20 17:56 5115

[求助]在win7 C#调用HttpWebRequest.GetRequestStream 报错的问题

2021-5-20 17:56
5115

起因:去年用C#写了一个上传文件的工具,上传接口是后端提供。
此接口一直使用正常,最近使用此工具的时候,突然在调用HttpWebRequest.GetRequestStream 时报The request was aborted: Could not create SSL/TLS secure channel.

 

网上一顿搜索,发现大多数提示设置
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;可以解决此问题。本人尝试了下,加了此代码,在win10下果然解决。可是到win7问题依旧。
我又尝试了提升net版本到4.6,在win10,不用加上面的代码就直接成功,但是win7依然会报此错误,我把SecurityProtocolType枚举的4个类型都增加到代码里面,依然如此。
通过charles抓包发现了问题。
win7 下面如图。

正常访问的抓包如图。

发现我的client没有提供TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256这加密套件。
打开gpedit.msc->管理组件-->网络-->ssl配置,查看里面提供的,里面并没有这个套件,在windows官网查了下,win7并不支持这个套件,要win8.1才开始支持。
但是我用chrome浏览直接访问我接口的域名,抓包显示chrome却提供了此套件。不知道各位有没有遇到过此问题,对此有何看法,难道是chrome自己写了这个套件?或者有第3方库提供这个套件使用?


[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (11)
雪    币: 207
活跃值: (967)
能力值: ( LV3,RANK:25 )
在线值:
发帖
回帖
粉丝
2
有没有遇到过相同问题的同学呢
2021-5-20 19:11
0
雪    币: 1385
活跃值: (5609)
能力值: ( LV3,RANK:25 )
在线值:
发帖
回帖
粉丝
3
感觉跟这个没有太大关系吧,这个只是和服务器协商的一种加密方式,你没告诉服务器,服务器用其他方式就是了呀。
2021-5-21 09:17
0
雪    币: 5855
活跃值: (438)
能力值: ( LV4,RANK:45 )
在线值:
发帖
回帖
粉丝
4
我和你碰到一样的问题了,折腾了很久,最后还是换系统了。。
你换个windows 10或者 windows server 2016肯定就可以了
2021-5-21 09:28
0
雪    币: 207
活跃值: (967)
能力值: ( LV3,RANK:25 )
在线值:
发帖
回帖
粉丝
5
NightGuard 我和你碰到一样的问题了,折腾了很久,最后还是换系统了。。 你换个windows 10或者 windows server 2016肯定就可以了
是的,win10系统加了ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12配置是没问题的。但是客户电脑有很多还是win7的呀。我想在win7上解决下这个问题
2021-5-21 11:59
0
雪    币: 207
活跃值: (967)
能力值: ( LV3,RANK:25 )
在线值:
发帖
回帖
粉丝
6
supperlitt 感觉跟这个没有太大关系吧,这个只是和服务器协商的一种加密方式,你没告诉服务器,服务器用其他方式就是了呀。
看起来服务器是指定了TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256加密套件的
2021-5-21 12:00
0
雪    币: 1385
活跃值: (5609)
能力值: ( LV3,RANK:25 )
在线值:
发帖
回帖
粉丝
7

给个参考网址呢。测试网址。

最后于 2021-5-21 14:52 被supperlitt编辑 ,原因:
2021-5-21 14:52
0
雪    币: 207
活跃值: (967)
能力值: ( LV3,RANK:25 )
在线值:
发帖
回帖
粉丝
8
supperlitt 给个参考网址呢。测试网址。
是公司域名下面的接口,需要账号和密码的没法对外提供呀
2021-5-21 19:24
0
雪    币: 5855
活跃值: (438)
能力值: ( LV4,RANK:45 )
在线值:
发帖
回帖
粉丝
9
我感觉是服务器端安全级别太高,强制使用较高版本的tls导致的
坐等楼主找到解决方案,还有一台win7机器还没重装,因为装的软件太多了。。
2021-5-22 09:27
0
雪    币: 207
活跃值: (967)
能力值: ( LV3,RANK:25 )
在线值:
发帖
回帖
粉丝
10
NightGuard 我感觉是服务器端安全级别太高,强制使用较高版本的tls导致的 坐等楼主找到解决方案,还有一台win7机器还没重装,因为装的软件太多了。。
你们用的服务器是什么系统,什么样的配置?
2021-5-24 10:27
0
雪    币: 207
活跃值: (967)
能力值: ( LV3,RANK:25 )
在线值:
发帖
回帖
粉丝
11

我们使用nginx做代理如下配置,可以访问成功了image.png

2021-5-24 16:53
0
雪    币: 207
活跃值: (967)
能力值: ( LV3,RANK:25 )
在线值:
发帖
回帖
粉丝
12
NightGuard 我感觉是服务器端安全级别太高,强制使用较高版本的tls导致的 坐等楼主找到解决方案,还有一台win7机器还没重装,因为装的软件太多了。。
可能主要是 ssl_ciphers 那行有点用
2021-5-24 16:54
0
游客
登录 | 注册 方可回帖
返回
//