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

客户端证书Windows Phone 8.1

发布时间:2020-12-14 01:53:48 所属栏目:Windows 来源:网络整理
导读:Windows Phone 8.1是否支持将客户端证书添加到HTTP Web请求?我正在尝试做类似以下的事情,但我似乎无法确定WP8.1上的等效内容(如果有的话): System.Net.HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(uri);request.ClientCertificates.A
Windows Phone 8.1是否支持将客户端证书添加到HTTP Web请求?我正在尝试做类似以下的事情,但我似乎无法确定WP8.1上的等效内容(如果有的话):

System.Net.HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(uri);
request.ClientCertificates.Add(certificate);

谢谢.

解决方法

我假设您已将客户端证书放在app证书库中.如果不是这样你将不得不这样做
1)下载PFX文件.
2)使用以下方法将其安装在App的证书库中

await CertificateEnrollmentManager.ImportPfxDataAsync(certString,"Your_PFX_Password",ExportOption.Exportable,KeyProtectionLevel.NoConsent,InstallOptions.None,friendlyName);

3)下一步是在证书库中查找证书.这样做如下

CertificateQuery certQuery = new CertificateQuery();
certQuery.FriendlyName = friendlyName;
IReadOnlyList<Certificate> certs = await CertificateStores.FindAllAsync(certQuery)

证书[0]将拥有证书

4)将证书附加到HTTP请求

HttpBaseProtocolFilter protolFilter = new HttpBaseProtocolFilter();
protolFilter.ClientCertificate = certs[0] //from previous step
HttpClient client = new HttpClient(protolFilter)

需要注意的是,您不应该使用System.Net.htpp.HttpClient.相反,你应该使用Windows.Web.Http.HttpClient.

(编辑:李大同)

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

    推荐文章
      热点阅读