2

我正在尝试编写一个与 Windows Azure 的管理 API 通信的 WinRT 应用程序。为此,必须上传满足某些要求的证书,然后应用程序使用该证书对请求进行身份验证。

为了提供更好的用户体验,我希望能够为他们生成证书并配置应用程序以使用该证书。通常,我会访问System.Security.Cryptography命名空间,但它似乎无法从完整框架的“.NET for Windows Store app”子集中获得。

有什么想法可以在不调用外部服务的情况下创建这个自签名证书吗?

4

2 回答 2

3

虽然通常可以使用 CertEnrol COM 库(Windows 的一部分)创建证书,但沙盒 WinRT 环境中没有可用的内置机制。

唯一真正的解决方案是在外部进程(例如 ASP.NET 网站)中生成证书,然后通过 TLS 安全连接将证书及其私钥和密码作为 Base-64 编码字符串传输。

一旦编码数据在 WinRT 应用程序中可用,该ImportPfxDataAsync方法用于使证书可用于 WinRT 应用程序以供进一步使用。

有关在 .NET 代码中创建自签名证书的更多信息,请参阅如何使用 C# 创建自签名证书?

于 2013-01-29T22:41:26.663 回答
0

您可能想要调查 Windows.Security.Cryptography.Certificates 命名空间。

于 2013-01-29T20:11:00.547 回答