2012-11-07 100 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命名空間。

相關問題