客户端证书 Windows Phone 8.1

5

Windows Phone 8.1是否支持在HTTP网络请求中添加客户端证书?我想要做类似于以下内容的操作,但是我无法确定WP8.1中相应的等效操作是什么:

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

感谢您。
1个回答

5

我假设您已经将客户端证书放置在应用程序证书存储中。如果没有,请按以下步骤进行操作: 1)下载PFX文件。 2)使用以下方式将其安装在应用程序的证书存储中。

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)

certs[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。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接