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

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

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

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

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

最佳答案

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

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

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

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

关于.net - 如何在 WinRT 应用程序中创建自签名证书?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13270988/

相关文章:

windows - 除了 AdCenter,还有其他适用于 WinRT (Windows 8) 的广告 SDK 吗?

java - 如何以编程方式检查 X509 证书是否已在 Java Truststore 中?

qt - 这两种OpenSSL生成方式的区别

.net - 如何从带有procdump(或类似文件)的.Net应用程序中捕获未处理的异常?

.net - Windows 更新导致 MVC3 和 MVC4 停止工作

.net - Visual Studio for Mac 2022 不使用预期的 .NET6 SDK

windows-runtime - Windows Phone 8.1 中图像上的 OpacityMask

c# - 如何检查 Windows 应用商店应用程序中是否存在文件?

c# - 如何使用makecert创建WCF接受的X509证书

c# - 如何针对不同的上下文处理和组织 DTO?