我已将证书上传到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:密钥无法在指定状态下使用。
是否有可能将其导出?
答案 0 :(得分:0)
在您的Web /辅助角色上启用远程桌面,连接到它,然后您可以使用Mimikatz恢复证书(包括私钥),即使它被标记为不可导出。< / p>
Mimikatz(指南是法语):http://blog.gentilkiwi.com/mimikatz/crypto#exportCertificates