«Произошла внутренняя ошибка.» При загрузке файла pfx с X509Certificate2

m пытается использовать самоподписанный сертификат (c #):

X509Certificate2 cert = new X509Certificate2(
    Server.MapPath("~/App_Data/myhost.pfx"), "pass");

на сервере общего веб-хостинга, и я получил ошибку:

System.Security.Cryptography.CryptographicException: An internal error occurred.

трассировка стека заканчивается

System.Security.Cryptography.CryptographicException.
    ThrowCryptogaphicException(Int32 hr) +33
System.Security.Cryptography.X509Certificates.X509Utils.
    _LoadCertFromFile(String fileName, IntPtr password, UInt32 dwFlags, 
        Boolean persistKeySet, SafeCertContextHandle& pCertCtx) +0
System.Security.Cryptography.X509Certificates.X509Certificate.
    LoadCertificateFromFile(String fileName, Object password, 
        X509KeyStorageFlags keyStorageFlags) +237
System.Security.Cryptography.X509Certificates.X509Certificate2..ctor(
    String fileName, String password) +131

На моей машине разработчика он загружается нормально. Причина, по которой я загружаю * .pfx, а не * .cer-файл, потому что мне нужен доступ с закрытым ключом (cer-файл загружается нормально). Я сделал pfx на моем dev mochine так:

makecert -r -n "CN=myhost.com, [email protected]" -sky exchange -b 01/01/2009
    -pe -sv myhost.pvk myhost.cer
pvk2pfx -pvk myhost.pvk -spc myhost.cer -pfx myhost.pfx -po pass

Я использую версию v5.131.3790.0 от makecert

Ответы на вопрос(2)

Ваш ответ на вопрос