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