如何在WinRT应用程序中创建自签名证书?

时间:2012-11-07 13:40:22

标签: .net windows-runtime x509 windows-store-apps

我正在尝试编写一个与Windows Azure管理API通信的WinRT应用程序。为此,必须上载符合某些要求的证书,然后由应用程序使用该证书来验证请求。

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

如何在不呼叫外部服务的情况下创建此自签名证书的任何想法?

2 个答案:

答案 0 :(得分:3)

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

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

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

有关在.NET代码中创建自签名证书的更多信息,请参阅How to create a self-signed certificate using C#?

答案 1 :(得分:0)

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