Извлечение закрытого ключа для сгенерированного CSR

#c# #windows #keystore #private-key #csr

#c# #Windows #хранилище ключей #закрытый ключ #csr

Вопрос:

Я создаю CSR, используя объект certenroll. Первичный ключ создается на том же компьютере (хранилище сертификатов Ccertificate).

Как получить первичный ключ, который хранится в локальном хранилище для сгенерированного CSR.

Ответ №1:

Вы можете получить закрытый ключ из X509Certificate2.PrivateKey.

 var store = new X509Store (StoreName.My, StoreLocation.CurrentUser);
store.Open(OpenFlags.ReadOnly);

var thumbprint = "AA99202885098B541C1ECD09C85351ED084A4A12";
var certificate = store.Certificates.Find (X509FindType.FindByThumbprint, thumbprint, false) [0];

var privateKey = (RSACryptoServiceProvider) certificate.PrivateKey;
  

Кроме того, X509Certificate предлагает методы для экспорта в различные форматы, включая pfx.