首页 > 代码库 > x509.PrivateKey报“指定的提供程序类型无效”错误

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位的吧,这才是人间正道。

 

x509.PrivateKey报“指定的提供程序类型无效”错误