加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

uwp – 如何使用Universal Windows App中的System.Net.Http.Http

发布时间:2020-12-14 02:28:27 所属栏目:Windows 来源:网络整理
导读:我正在创建一个可移植类库,这意味着我必须使用System.Net.Http.HttpClient来调用我的Web API.据我所知.挑战在于,对于我的通用 Windows应用程序,我无法弄清楚如何忽略由于API服务器可以拥有自签名证书而返回的错误.任何建议将不胜感激. 更新:我无法导入任何
我正在创建一个可移植类库,这意味着我必须使用System.Net.Http.HttpClient来调用我的Web API.据我所知.挑战在于,对于我的通用 Windows应用程序,我无法弄清楚如何忽略由于API服务器可以拥有自签名证书而返回的错误.任何建议将不胜感激.

更新:我无法导入任何证书,因为这将是在各种组织中的各种设备上运行的应用程序,并且让他们将自签名证书导入到运行该应用程序的每个设备上是不切实际的.

解决方法

不是选项,因为UWP中没有System.Net.ServicePointManager.CertificatePolicy.如果您使用Windows.Web.Http.HttpClient,那么您可以使用 ignore self signed certificates.

更新:

再想一想,如果将其添加到应用程序的根证书中,则可以忽略自签名证书错误.

两种选择:

>使用API??安装它:

IBuffer buffer = await FileIO.ReadBufferAsync(file);
Certificate rootCert = new Certificate(buffer); 
CertificateStore rootStore = CertificateStores.TrustedRootCertificationAuthorities;
rootStore.Add(rootCert);

>将它包含在您的Package.appxmanifest>声明>证书>添加和设置:

>商店名称:root
>内容:证书文件的路径

使用这两个选项中的任何一个,您将停止获取:

System.Net.WebException: The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel. —> System.Security.Authentication.AuthenticationException: The remote certificate is invalid according to the validation procedure.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读