.Net和Java DSA实现是否兼容?

时间:2009-12-03 12:09:29

标签: .net java-me sha1 digital-signature dsa

我正在尝试对运行J2ME的移动客户端发出的请求进行数字签名,并希望通过.Net Framework验证签名。

是否有人知道实施

DSACryptoServiceProvider //.Net

Signature.getInstance("SHA1withDSA", "SUN") //Java

兼容吗?或者有没有人有更好的主意?


经过一番研究后,我发现这个库似乎有C#和Java的DSA API,具有相同的底层实现:http://www.bouncycastle.org

有没有人有这方面的经验?

4 个答案:

答案 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,但没关系),因此它们很可能是可互换的。