使用 IIS Crypto 解决 .NET Framework TLS 配置问题

使用 IIS Crypto 解决 .NET Framework TLS 配置问题

最近突然发现在电脑上 VS 的 nuget.org 无法搜索包了,当时没太在意,以为是网络不稳定导致的。接着刚好需要安装一个在线下载的应用程序,发现软件也无法安装。那一刻,我彻底懵了……自己最近也没动过电脑的什么设置啊?

于是开始了满世界找原因的历程——各种方案都尝试了,网络设置检查、代理配置、重启路由器……还是不行!随着时间一点点过去,脑袋已经炸了,夜里快 2 点了还是没搞定,我只能安慰自己:“算了,明天还要上班,先睡吧。”

第二天到了公司,我又花了大半天时间,依旧没能解决问题。心态逐渐崩了,我开始想,是不是代码里能找到更明确的错误?因为前几天刚写了一个从网盘下载文件的 Demo 项目,于是将代码复制过来运行——果然,文件下载也失败了!提示的错误是:“无法连接到本地安全机构”。

我突然觉得,可能问题是系统层面的 TLS 设置导致的。于是,抱着试试看的心态,打开了 ChatGPT 搜索这个问题。

转机来了!
在 ChatGPT 的建议中,有一条提到使用一个叫 IIS Crypto 的工具可以解决问题。我打开官网看了一下,发现这个工具操作很简单,可以快速配置系统的 TLS 加密设置。我心想:“这可能就是救命稻草!”

安装后,我直接点击了 Best Practices 按钮,应用推荐配置,并重启了电脑。结果令人欣慰——nuget.org 可以搜索了,文件也能下载了,问题终于解决了!

那一刻,我沉默了,默默点燃了一根烟……

总结
折腾了两天,最终通过 IIS Crypto 工具,10 分钟不到就解决了问题。希望这篇记录能帮到遇到同样问题的朋友。如果你也面临类似的难题,别忘了试试这个方法!

背景1:

[nuget.org] 无法加载源 https://api.nuget.org/v3/index.json 的服务索引。

  • 错误信息发送请求时出错
  • 详情