我遵循此处的教程,用于设置Azure Scheduler: http:// fabriccontroller.net/blog/posts/a-complete-overview-to-getted-with-the-windows-azure-scheduler/

我想在Azure网站上运行我的应用程序,但它阻止了我创建我的x509certificate。

我找到了本文: http://blog.tylerdoerksen.com/2013/08/23/pfx-certificate-files-and-windows-azure-websites/ 这指出了问题:

好吧,事实证明,当您加载证书时,系统将使用本地目录存储密钥(??) 密钥的默认位置是本地用户配置文件下,并使用Windows Azure网站,没有本地用户配置文件目录。“

所以遵循他的建议并添加以下标志:“x509keystorageflags.machinekeyset”我可以逃脱:

cryptographicexception:系统找不到指定的文件

但我现在得到:

cryptographicexception:访问被拒绝。

是否真的没有办法使用氮气网站的SDK?!如果我被迫使用WebRole而不是Azure网站,它会击败Azure Scheduler的许多吸引力。

在此线程中: http://social.mofollow insdn.microsoft.com/forums/windowsazure/en-us/cfe06e73- 53e1-4030-b82d- 53200BE37647 / Load-Prively-Created-P12-Cert-From-Azureblob-and-are-it-Be-Trusted 它看起来好像在Azure网站上成功创建X509Certificate,所以当我尝试时,我的抛出了“访问被拒绝”是什么不同的?

有帮助吗?

解决方案

问题在于使用PublishSettings文件中的ManagementCertificate字符串...我使用VisualStudio控制台在本地计算机上创建了一个自签名证书,并导出了“.cer”和'.pfx'。

将自签名的.cer上传到我的Azure /设置/管理证书 用我的解决方案捆绑了.pfx并发布到Azure网站

然后使用以下代码来创建证书:

var certificate = new X509Certificate2(
            HttpContext.Current.Server.MapPath("~/<filename>.pfx"), "<password>", X509KeyStorageFlags.MachineKeySet);
.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top