我想在 Windows Store XAML 应用程序中使用客户端证书身份验证。使用 makecert 我创建了一个自签名 CA 和客户端证书,身份验证在 IIS/ASP.NET + 浏览器(IE10、Chrome 等)中运行良好。现在我想在 Windows Store 应用程序中使用它,但不确定如何实际安装证书。我有一个导入到 IE10 的 cert.pfx 文件。这是我用来通过 SSL 使用 HTTP 服务的代码。
HttpClientHandler handler = new HttpClientHandler();
handler.ClientCertificateOptions = ClientCertificateOption.Automatic;
HttpClient client = new HttpClient(handler);
不确定 ClientCertificateOption.Automatic 和 ClientCertificateOption.Manual 之间有什么区别。当我尝试连接证书时,未将证书提供给服务器并且出现 401 错误,我猜测证书不存在于应用程序证书存储中,因此没有任何内容被发送到服务器。那我该如何安装证书呢?
我应该使用 CertificateEnrollmentManager.ImportPfxDataAsync() 方法吗?如果是这样,我如何将 .pfx 转换为“Base64 编码的 PFX 消息”pfx 是否应该包含私钥?
或者我应该使用此处描述的证书扩展:http: //msdn.microsoft.com/en-us/library/windows/apps/hh464981.aspx#certificates_extension_content