无法从Azure网站创建新计划

时间:2014-02-26 03:11:59

标签: azure azure-web-sites azure-scheduler

我按照此处的教程设置Azure Scheduler: http://fabriccontroller.net/blog/posts/a-complete-overview-to-get-started-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:拒绝访问。

真的没有办法从AzureWebsite使用SDK吗?!如果我被迫使用WebRole而不是Azure网站,它会破坏Azure Scheduler的很多吸引力。

在这个帖子中:http://social.msdn.microsoft.com/Forums/windowsazure/en-US/cfe06e73-53e1-4030-b82d-53200be37647/load-privately-created-p12-cert-from-azureblob-and-have-it-be-trusted 看起来好像他们在Azure网站上成功创建了一个X509Certificate,那么当我尝试时,我会抛出“拒绝访问”的不同之处?

1 个答案:

答案 0 :(得分:2)

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

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

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

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