Совместимы ли реализация .Net и Java DSA? - PullRequest
0 голосов
/ 03 декабря 2009

Я пытаюсь поставить цифровую подпись на запросы, сделанные мобильным клиентом под управлением J2ME, и хочу проверить подпись .Net Framework.

Кто-нибудь знает, если реализации

DSACryptoServiceProvider //.Net

и

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

совместимы? Или у кого-нибудь есть идея получше?


После некоторых исследований я обнаружил, что эта библиотека имеет API-интерфейсы DSA для C # и Java с одинаковыми базовыми реализациями: http://www.bouncycastle.org

У кого-нибудь есть опыт с этим?

Ответы [ 4 ]

1 голос
/ 16 декабря 2009

.NET и Java кодируют подписи по-разному. В противном случае они должны быть совместимы. Подробнее в другом ответе.

1 голос
/ 03 декабря 2009

Мне приходилось иметь дело с J2ME => .Net Web Service. И у меня были некоторые проблемы с шифрованием. Насколько я знаю, я не уверен насчет 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 голос
/ 06 декабря 2009

Они должны быть совместимы, иначе не будут веб-службы Java и .NET, и я точно знаю, что они

0 голосов
/ 03 декабря 2009

Насколько я понимаю, DSA / SHA1 - это стандартные алгоритмы (или RFC, но не берите в голову), так что, скорее всего, они взаимозаменяемы.

...