【问题标题】:Client Certificates Windows Phone 8.1客户端证书 Windows Phone 8.1
【发布时间】:2014-07-15 17:24:54
【问题描述】:

Windows Phone 8.1 是否支持向 HTTP Web 请求添加客户端证书?我正在尝试做类似以下的事情,但我似乎无法确定 WP8.1 上的内容(如果有的话)与此等价:

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

谢谢。

【问题讨论】:

    标签: windows windows-phone windows-phone-8.1


    【解决方案1】:

    我假设您已经将客户端证书放入应用证书商店。如果不是,这就是你必须这样做的方式 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)
    

    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。

    【讨论】:

      猜你喜欢
      • 2014-11-04
      • 1970-01-01
      • 2015-05-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-18
      • 2018-02-12
      相关资源
      最近更新 更多