簡體   English   中英

使用Azure SDK 1.7從Visual Studio發布不再起作用-證書/縮略圖錯誤

[英]publishing from Visual Studio with Azure SDK 1.7 no longer works - certificate/thumbprint error

我有一個長期的Azure雲服務項目,用於從Studio將Web和輔助角色部署到Azure。 雲服務定義和雲配置文件包括有關已上載到雲服務的證書的信息。 因此,在服務定義中:

<Certificates>
  <Certificate name="cert" storeLocation="LocalMachine" storeName="My" />
  <Certificate name="encryption" storeLocation="LocalMachine" storeName="My" />
</Certificates>

並在服務配置中:

<Certificates>
  <Certificate name="cert" thumbprint="[hidden]" thumbprintAlgorithm="sha1" />
  <Certificate name="encryption" thumbprint="[hidden]" thumbprintAlgorithm="sha1" />
</Certificates>

很長時間以來,我一直使用這些配置和證書發布到同一雲服務,沒有任何問題。

現在,我已經升級到Visual Studio 2010 sp1的Azure 1.7 SDK(2012年6月)。 升級我的雲服務項目后[在“屬性”中,單擊“升級”],由於明顯的證書錯誤,我不再能夠部署:

1:25:28 PM-正在連接... 1:25:33 PM-錯誤:帶有指紋的證書:'cert':角色:My.Web尚未上傳到雲服務:My Test NC。 下午1:25:33-錯誤:證書:帶有指紋的“加密”:角色:My.Web尚未上傳到雲服務:My Test NC。

請注意,錯誤中根本沒有列出任何指紋-為了安全起見,我在這里沒有將其刪除。

如果我編輯項目文件,並且除了將1.7更改為1.6以外,完全沒有其他更改,那么Studio的部署再次可以完美地工作。

Visual Studio sp1和Azure 1.7似乎有一些問題,但是我還沒有發現任何證據表明其他人也有類似的問題。

更新:我剛剛和Microsoft談過,現在至少在復制步驟上很清楚:

  • 必須有多個服務配置(例如“開發”和“測試”)
  • 不同的環境必須具有不同的證書(因此具有不同的指紋)。

由於一個人可能不想將生產證書存儲在開發機器上(特別是因為一個人不希望開發機器具有解密加密的生產值的能力-例如,如果一個開發筆記本電腦丟失了,請考慮),因此請使用不同的證書在不同的環境中似乎符合標准的最佳做法。

因此,此時,Microsoft將考慮是否需要解決此問題。 同時,Azure 1.7 SDK的解決方法是:(1)不要使用Studio中的“發布”; (2)不要使用多種服務配置; 或(3)在所有環境中使用相同的證書(我個人不推薦)。

“答案”似乎是,當您在同一項目中擁有多個cscfg文件時,對同一證書名稱使用不同的指紋(顯然很可能會這樣做),您將遇到此問題。

<Certificates>
    <Certificate name="cert" thumbprint="[hidden]" thumbprintAlgorithm="sha1" />
    <Certificate name="encryption" thumbprint="[hidden]" thumbprintAlgorithm="sha1" />
</Certificates>

因此,如果[hidden]的值在開發,測試和實時使用的cscfg文件上有所不同,則在嘗試發布到任何一個(例如test)時,都會遇到您提到的錯誤。

如果您使用管理配置刪除開發人員的cscfg文件並使用管理配置進行實時刪除,然后嘗試使用其余的測試配置文件進行發布,則發布將起作用(至少對我而言)。

這似乎是一個缺陷。

當發現此問題時,我們發現了另一種情況。 在VS2012.2中,證書的指紋為小寫字母,但似乎Azure管理API要求使用大寫字母。 這是Management Portal / API方面的錯誤,因為在任何情況下都可以使用指紋-案例本身沒有信息內容,因此執行檢查的一方應與情況無關地進行檢查(我相信Azure Fabric Controller )。

我正在上傳顯示此圖片(點擊此處查看完整分辨率圖片

在此處輸入圖片說明

肯特,除了提供的解決方法外,您還可以在構建步驟中轉換配置文件。 菲爾·霍夫(Phil Hoff)在http://blogs.msdn.com/b/philliphoff/archive/2012/07/02/transform-windows-azure-service-model-files-during-packaging中討論了如何執行此操作。 aspx

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM