安静的弓箭 · HttpClient发送Post请求传递js ...· 5 天前 · |
乐观的哑铃 · httpClient中post请求并传送fo ...· 5 天前 · |
不羁的南瓜 · httpClient ...· 5 天前 · |
强健的单车 · 使用RequestBuilder和HttpU ...· 5 天前 · |
会搭讪的大葱 · .NET – 桃又的技术笔记· 1 周前 · |
高大的骆驼 · 折腾记:联想小新Air14锐龙版更换Inte ...· 4 月前 · |
率性的红酒 · 软件开发中的QA主要做什么的_项目中qa的作 ...· 1 年前 · |
拉风的闹钟 · 香港EE专业博士PhD【电气,电力电子,电力 ...· 1 年前 · |
千年单身的警车 · 小知识~人工流产后注意事项和怎样调理- 知乎· 1 年前 · |
我们目前正在转换VB.Net中运行在.NET Framework4.8上的一个旧的Web应用程序,以使用一个新的.NET 6API,然后再将Web应用程序替换为一个现代的JS前端。我们正在用调用新API来替换存储库调用,使用HttpClient来实现这一点。我们使用的是NuGet版本的HttpClient,而不是.NET框架版本。WebForms应用程序在托管于开发机器上的IIS中运行,API也使用Kestrel运行在开发机器上。
证书是为本地主机颁发的,两个应用程序都在不同端口上的本地主机上服务。
不幸的是,当使用自签名的dev cert在dev计算机上运行时,当调用
PostAsync()
或
PutAsync()
时,我们会得到以下异常
System.Security.Authentication.AuthenticationException: The remote certificate is invalid according to the validation procedure.
我已经搜索和尝试了几乎每一个类似问题的答案,并尝试了这些案例中的大多数答案。这包括将cert添加到RCA/ICA,并使用
dotnet dev-certs https --clean
dotnet dev-certs https
dotnet dev-certs https --trust
我甚至已经将IIS切换到使用SSL的dev cert,以防止出现问题。
我没有尝试过的唯一解决方案,因为它更像是一个黑客,而不是一个解决方案,就是绕过整个证书验证过程。这不是一个可行的长期解决办法。
Web应用程序可以成功地调用各种Azure,包括Key Vault和Azure Files,因此HttpClient本身并不是一个问题。API可以从Firefox/Chrome/Edge获得,没有任何问题。
除了我尝试过的和我不愿意做的以外,还有什么想法吗?
发布于 2022-09-12 21:06:05
发现了问题。
dotnet dev-certs https --create
在证书-当前用户(certmgr.msc)存储中生成开发证书。.NET框架在证书-本地计算机(certlm.msc)存储区中查找证书。
将创建的开发证书复制到个人->证书和受信任根证书颁发机构的本地计算机存储区中,->证书文件夹修复了该问题。严格地说,我不知道它需要是个人文件夹还是TRCA文件夹,但我把它放在两个地方只是为了确定。
https://stackoverflow.com/questions/73669132
复制相似问题
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2024 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号: 粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
不羁的南瓜 · httpClient post请求设置了Content-Type application/json还是无法转换为json格式,415,stringEntity.setContentType-CSDN博 5 天前 |
强健的单车 · 使用RequestBuilder和HttpUriRequest发送授权的post请求_使用REST API和发送POST请求_使用Axios post请求的JWT授权 - 腾讯云开发者社区 - 腾讯云 5 天前 |
会搭讪的大葱 · .NET – 桃又的技术笔记 1 周前 |
千年单身的警车 · 小知识~人工流产后注意事项和怎样调理- 知乎 1 年前 |