2012-11-07 102 views
2

我正在尝试编写一个与Windows Azure的管理API进行通信的WinRT应用程序。为此,必须上传满足特定要求的证书,然后由应用程序使用该证书来验证请求。如何在WinRT应用程序中创建自签名证书?

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

任何想法如何才能创建此自签名证书而无需呼叫到外部服务?

+0

找到您可以添加展示如何实现这个答案吗?您的产品可能是解决方案。 –

+0

这不是一行代码(甚至不是十几行代码),在SO上没有多少意义,该软件包还包含示例项目和示例。 –

回答

3

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

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

一旦编码的数据在WinRT应用程序中可用,将使用ImportPfxDataAsync方法使证书可供WinRT应用程序使用以供进一步使用。创建于.NET代码自签名证书

更多信息可以在How to create a self-signed certificate using C#?

0

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

相关问题