2016-06-16 31 views
0

我正在连接到Visual Studio中的Web服务,当触发我收到错误时,我已经正确设置了参数;使用AES和IV的SOAP Web服务解密C# - 要解密的数据的长度无效

解密数据的长度是无效的

这是由于解密,我有一个AES密钥和IV不完全知道如何将其应用到Web服务请求。

AES密钥:RijndaelManaged Key = new byte[] { 0x1, 0x2... 0x16 };

IV:RijndaelManaged IV = new byte[] { 0x1, 0x2... 0x16 }

我也查了一下解密几个线程,并从我发现他们依靠创建开始与加密。我只获得了AES密钥和IV,我被告知它已经足够了。

这就是我所说的web服务;

AWebService.BIServiceClient Client = new AWebService.BIServiceClient();
Client.getTransactions(true, username, password, Period, Year, MethodSignature, Database);

会在哪里解密代码去怎么样?

+0

这听起来像你应该加密你正在发送的参数。这并不完全清楚,但我认为你不应该解密任何东西,这就是电线另一端发生的事情。它试图解密未加密和失败的东西。 – Crowcoder

+0

我看到,作为Web服务的一部分,有一个加密功能,它需要一个字符串形式的参数。在这种情况下,AES密钥是否毫无意义? – ArraysRus

+0

这不是我的意思。这只是一个受过教育的猜测,但我认为在调用'getTransactions'之前,您应该使用该密钥和iv来加密'password'(可能也有其他人)。 – Crowcoder

回答

0

听起来好像该服务正试图清除您发送给它的数据(参数),但是您尚未加密它们。

使用密钥和IV致电前,相应的参数进行加密:

Client.getTransactions(true, username, password, Period, Year, MethodSignature, Database); 

顺便说一句,如果你一直在试图调用与未加密的数据生产服务,你必须承担的密码可能会受到影响。考虑改变它。

相关问题