x509.PrivateKey報“指定的提供程序類型無效”錯誤


坑死了,折騰了一天,在這里留個紀念。

        x509.PrivateKey報“指定的提供程序類型無效”錯誤。

        網上搜一大堆,全都是誤人子弟的東西,大致的意思是:

        操作系統升級后證書中的私鑰是以CngKey的方式存在,

        http://clrsecurity.codeplex.com 提供了RSACng的封裝,使用如下:

        if (x509.HasCngKey()) 

                var privateKey = x509.GetCngPrivateKey();

        .net4.6 以后的版本提供了對x509的擴展,使用如下:

        x509.GetRSAPrivateKey(); 得到RSACng

        真實的情況是:的確和操作系統有關,64位的操作系統在運行32位的程序時,那個wow64就不提供升級改進后的這些安全類型了,

        所以64位的IIS千萬不要去把應用程序池的"啟動32位應用程序"設置成True,如果有什么32位的程序就全都換成64位的吧,這才是人間正道。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM