一般當我們在本機能正常運作的東西 常常放到雲端就不Work了 很多問題其實就在於雲端環境的差異與限制 例如這次研究的問題->讀取憑證資訊 以下就介紹Azure Web Apps環境下 憑證如何放置與讀取的差異 一般我們系統要讀取的憑證會放在 StoreLocation.LocalMachine Azure Web Apps上傳後的憑證是放在 StoreLocation.CurrentUser 要讓程式能讀取到要讀取的憑證還要設定憑證的設定檔 否則就算你上傳憑證之後還是找不到 APP Setting中新增憑證讀取參數 WEBSITE_LOAD_CERTIFICATES 和憑證指紋(thumbprint) 或者也可以設定"*"(不需要引號)就會讀取全部憑證 這樣就能順利讀取 以下是憑證讀取範例 using System; using System.Security.Cryptography.X509Certificates;namespace UseCertificateInAzureWebsiteApp { class Program { static void Main(string[] args) { X509Store certStore = new X509Store(StoreName.My, StoreLocation.CurrentUser); certStore.Open(OpenFlags.ReadOnly); X509Certificate2Collection certCollection = certStore.Certificates.Find( X509FindType.FindByThumbprint, // 憑證指紋 “E661583E8FABEF4C0BEF694CBC41C28FB81CD870”, false);