[英]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.