我正在尝试编写一个与Windows Azure管理API通信的WinRT应用程序。为此,必须上载符合某些要求的证书,然后由应用程序使用该证书来验证请求。
为了获得更好的用户体验,我希望能够为他们生成证书并配置应用程序以使用证书。通常,我会到达System.Security.Cryptography
命名空间,但它似乎无法从完整框架的“.NET for Windows Store应用程序”子集中获取。
如何在不呼叫外部服务的情况下创建此自签名证书的任何想法?
答案 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命名空间。