2014-04-28 62 views
2

我構建了一個指向Windows Azure管理庫的Azure Web作業控制檯。 我試圖通過使用公共設置方法來驗證我的應用程序。Web作業中的Windows Azure管理庫認證錯誤

該程序在我的本地上正常工作,但在出現X509Certificates錯誤的Azure Web Jobs上失敗。

這是我爲web工作計劃所做的工作。

  1. 下載發佈從https://windows.azure.com/download/publishprofile.aspx

  2. 設置文件在控制檯應用程序,從設置文件創建通過複製粘貼&和subscriptionId證書字符串證書。

    new CertificateCloudCredentials(
        subscriptionId, 
        new 509Certificate2(Convert.FromBase64String(base64EncodedCertificate))); 
    
  3. 部署&試圖在Azure上的Web作業 「按需運行」。

  4. 錯誤

    at System.Security.Cryptography.CryptographicException.ThrowCryptographicException(Int32 hr) 
    at System.Security.Cryptography.X509Certificates.X509Utils._LoadCertFromBlob(Byte[] rawData, IntPtr password, UInt32 dwFlags, Boolean persistKeySet, SafeCertContextHandle& pCertCtx) 
    at System.Security.Cryptography.X509Certificates.X509Certificate.LoadCertificateFromBlob(Byte[] rawData, Object password, X509KeyStorageFlags keyStorageFlags) 
    at System.Security.Cryptography.X509Certificates.X509Certificate..ctor(Byte[] data) 
    at System.Security.Cryptography.X509Certificates.X509Certificate2..ctor(Byte[] rawData) 
    

異常而執行:

System.Security.Cryptography.CryptographicException, The system cannot find the file specified. 
+1

我解決了這個問題。我們可以自己製作* .pfx並在我們的webjob控制檯應用程序中使用它。 1. https://www.simple-talk.com/cloud/security-and-compliance/windows-azure-management-certificates/ –

回答

4

我建議先從這個博客帖子:http://blog.tylerdoerksen.ca/2015/11/29/pfx-certificate-files-and-azure-web-apps/。雖然這篇博客文章是關於Azure網站而不是Azure Webjobs,但是我傾向於認爲你的問題是由於這個原因。事實上,我遇到了與Azure網站完全相同的問題。

但是,爲了使用博客文章中列出的解決方案,您不能按原樣使用發佈設置文件中的certstring。以下是您需要執行的操作:

  1. 通過另一個控制檯應用程序,首先創建一個X509證書並將其安裝在本地計算機的證書存儲區中。
  2. 以PFX格式導出證書並提供密碼。
  3. 包含此PFX證書作爲您的解決方案的一部分。對於Azure網站,我們必須將此文件包含在App_Data文件夾中,不確定在Webjob的情況下將其包含在哪裏。您可以嘗試使其位於bin文件夾中。
  4. 閱讀本文件,並嘗試創建使用在博客文章中指定(和複製這裏)中的語法的X509證書的實例:

    var cert = new X509Certificate2(pfxFile, "myPassword", X509KeyStorageFlags.MachineKeySet); 
    
+0

感謝您的回答。此刻,我正在嘗試使用發佈設置。但是我會通過創建自己的證書來嘗試這種方法,直到找到解決方案。乾杯。 –