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

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

2021-5-20 17:56
3935

起因:去年用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方库提供这个套件使用?


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

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

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

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

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

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