1
У меня есть сертификат, который я могу установить из ключа. Когда я просматриваю этот установленный сертификат с помощью IE. Он показывает, что у него есть закрытый ключ, как показано ниже.Сертификат pfx с закрытым ключом ...?
Но когда я пытаюсь экспортировать этот сертификат .PFX с помощью моих C# код, секретный ключ является недействительным.
ниже мой код для экспорта сертификата PFX, где закрытый ключ всегда нулевой
public static bool ExportCertificateToPFX(string certificateSerialNumber, string pxfFilepath, StoreName storeName, StoreLocation location)
{
bool success = false;
X509Store store = new X509Store(storeName, location);
store.Open(OpenFlags.ReadOnly);
X509Certificate2Collection certs = store.Certificates.Find(X509FindType.FindBySerialNumber, certificateSubject, true);
if (certs != null && certs.Count > 0)
{
//BELOW CONDITION ALWAYS FALSE
if (certs[0].HasPrivateKey)
{
MessageBox.Show(certs[0].PrivateKey.ToString());
}
byte[] data = certs[0].Export(X509ContentType.Pfx, "KALPESH");
//HERE WRITE "data" TO "pxfFilepath" FILE
}
store.Close();
return success;
}
И где ваш код? –
По всей вероятности, ключ не позволяет извлекать закрытый ключ. – Phylogenesis
Хорошо, филогенез в этом случае - это любая возможность, я могу прочитать частный ключ и сертификат непосредственно из ключа с моим кодом. –