У меня есть сертификат, загруженный в Azure. Я также потерял оригинальный сертификат на своей машине (oops!).Экспортируйте сертификат из облачного сервиса 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-try – ramiramilu
Я добавил ответ, указав на командлет Get-AzureCertificate PowerShell, но Gaurav правильно указал, что это не сработает, если вам понадобится сертификат с закрытым ключом. Я удалил ответ, потому что он неверен. – MikeWo