Windows Phone 8.1是否支持在HTTP网络请求中添加客户端证书?我想要做类似于以下内容的操作,但是我无法确定WP8.1中相应的等效操作是什么:
System.Net.HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(uri);
request.ClientCertificates.Add(certificate);
感谢您。
Windows Phone 8.1是否支持在HTTP网络请求中添加客户端证书?我想要做类似于以下内容的操作,但是我无法确定WP8.1中相应的等效操作是什么:
System.Net.HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(uri);
request.ClientCertificates.Add(certificate);
我假设您已经将客户端证书放置在应用程序证书存储中。如果没有,请按以下步骤进行操作: 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。