尝试解密时出现密钥加密错误

时间:2012-10-13 11:27:31

标签: c# encryption rsa x509certificate

我使用命令创建以下文件:

makecert -n "CN=TEST_CER" -sv "Test.pvk" -r -sky echange -pe test.cer
pvk2pfx -pvk Eltapk.pvk -spc test.cer  -pfx test.pfx -pi PVKPASS -po PFXPASS -f

然后我在以下测试应用程序中使用test.pfx:

            X509Certificate2 cer2 = new X509Certificate2("test.pfx", "PFXPASS");

            RSACryptoServiceProvider PrivateKey = cer2.PrivateKey as RSACryptoServiceProvider;
            RSACryptoServiceProvider PublicKey = cer2.PublicKey.Key as RSACryptoServiceProvider;

            string test = "test123";
            byte[] testb = Encoding.UTF8.GetBytes(test);

            testb = PublicKey.Encrypt(testb, true);
            testb = PrivateKey.Decrypt(testb, true);
            test = Encoding.UTF8.GetString(testb);

我得到CryptographicException:Bad Key。

我使用-sky exchange和-pe。

我做错了什么?

P.S。 PrivateKey.Encrypt也以相同的异常

失败

0 个答案:

没有答案