“参数不正确。” RSACryptoServiceProvider WCF 客户端/服务器 C#

Posted

技术标签:

【中文标题】“参数不正确。” RSACryptoServiceProvider WCF 客户端/服务器 C#【英文标题】:"The parameter is incorrect." RSACryptoServiceProvider WCF Client/Server C# 【发布时间】:2017-04-05 12:34:29 【问题描述】:

我有两个本地控制台应用程序,一个是生成公钥​​和私钥的服务器,另一个是客户端,它通过消费服务从服务器接收公钥并将加密消息发送到服务器。 服务然后尝试解密消息并将其保存在服务器中,但是在调用 RSA.Decrypt 时抛出 CryptographicException 说参数不正确。

代码示例:

byte[] decryptedByteMessage;
using (RSACryptoServiceProvider RSA = new RSACryptoServiceProvider())

       decryptedByteMessage = RSADecrypt(encryptedByteMessage, privKey);

解密

static public byte[] RSADecrypt(byte[] DataToDecrypt, RSAParameters RSAKeyInfo)
        
            try
            
                byte[] decryptedData;
                using (RSACryptoServiceProvider RSA = new RSACryptoServiceProvider())
                
                    RSA.ImportParameters(RSAKeyInfo);
                    decryptedData = RSA.Decrypt(DataToDecrypt, false); // exception here
                
                return decryptedData;
            
            catch (CryptographicException e)
            
                Console.Write(e.Message);
                return null;
            
        

我可以看到键是正确的,并且相同的代码在单个控制台应用程序中运行良好。我试图寻找一个解决方案,(也许 CspParameters 是必需的?)但这只是让它现在更加混乱。

如果您能给我一些解决此问题的建议,我将不胜感激。

【问题讨论】:

【参考方案1】:

问题是我在 Visual Studio 中以调试模式运行应用程序。

我尝试了实际的 Release 可执行文件,一切都按预期运行。

【讨论】:

以上是关于“参数不正确。” RSACryptoServiceProvider WCF 客户端/服务器 C#的主要内容,如果未能解决你的问题,请参考以下文章

系统调用挂钩示例参数不正确

导入 db phpMyAdmin - 错误格式参数不正确

获取 Selenium Webdriver 异常:无法解析远程响应:参数不正确

导入 ECC 密钥 - CngKey.Import() - 参数不正确

当命令 discord.py 的参数不正确时如何显示消息?

wincc参数不正确