我正在尝试对运行J2ME的移动客户端发出的请求进行数字签名,并希望通过.Net Framework验证签名。
是否有人知道实施
DSACryptoServiceProvider //.Net
和
Signature.getInstance("SHA1withDSA", "SUN") //Java
兼容吗?或者有没有人有更好的主意?
经过一番研究后,我发现这个库似乎有C#和Java的DSA API,具有相同的底层实现:http://www.bouncycastle.org
有没有人有这方面的经验?
答案 0 :(得分:1)
我不得不处理J2ME => .Net Web服务。我在加密方面遇到了一些问题。据我所知,我不确定DSA Java和.Net在DES和AES加密方面有所不同。
这不能回答你的问题,但我想这可能对你有帮助。
有一个名为Bouncy Castle的图书馆:
Java发布: http://www.bouncycastle.org/latest_releases.html(选择J2ME一个)
C#的发布 http://www.bouncycastle.org/csharp/
我没有头疼地使用它们。文档并不差,但也不好。但Java和C#版本兼容。
答案 1 :(得分:1)
它们必须兼容,否则Java和.NET Web服务不会兼容,我确信它们是
答案 2 :(得分:1)
.NET和Java以不同方式对签名进行编码。否则他们应该兼容。 More details in another answer.
答案 3 :(得分:0)
据我了解,DSA / SHA1是标准算法(或RFC,但没关系),因此它们很可能是可互换的。