1
我有一個證書上傳到Azure。我也在我的機器上丟失了原始證書(哎呀!)。從Azure雲服務導出證書
現在我需要恢復從Azure雲服務導出的證書。
這段代碼在雲服務的上下文中運行得到正確的證書:
var store = new X509Store(StoreName.My, StoreLocation.LocalMachine);
store.Open(OpenFlags.OpenExistingOnly | OpenFlags.ReadOnly);
var certificate = store.Certificates
.Cast<X509Certificate2>()
.SingleOrDefault(c => string.Equals(c.Thumbprint, "<THUMBPRINT>", StringComparison.OrdinalIgnoreCase));
但是當我嘗試導出證書(X509Certificate2.Export),它拋出一個異常:
System.Security.Cryptography.CryptographicException:密鑰在指定狀態下無效。
是否可以導出它呢?
這是可能的證書安裝標記爲不可導出。 – MikeWo
你必須標記可導出的私鑰,否則你不能以你現在嘗試使用的方式導出一個PFX - http://stackoverflow.com/questions/9358129/cryptographicexception-key-not-valid-for-use-in -specified-state-while- – ramiramilu
我已經添加了一個答案,指出正在查看Get-AzureCertificate PowerShell Cmdlet,但Gaurav正確地指出,如果您需要使用私鑰退回證書,則該方法無效。我已經刪除了答案,因爲它不正確。 – MikeWo