0

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

有谁知道实现

DSACryptoServiceProvider //.Net

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

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


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

有人对这个有经验么?

4

4 回答 4

1

它们必须兼容,否则 Java 和 .NET Web 服务将不兼容,而且我确信它们是兼容的

于 2009-12-06T07:59:09.287 回答
1

.NET 和 Java 以不同的方式对签名进行编码。否则它们应该是兼容的。另一个答案中的更多详细信息。

于 2009-12-16T19:28:45.870 回答
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# 版本是兼容的。

于 2009-12-03T12:41:11.723 回答
0

据我了解,DSA/SHA1 是标准算法(或 RFC,但没关系),因此它们很可能是可互换的。

于 2009-12-03T12:13:44.233 回答