Совместимы ли реализация.Net и Java DSA?

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

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

DSACryptoServiceProvider //.Net

а также

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

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


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

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

4 ответа

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

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

Мне приходилось иметь дело с 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# совместимы.

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

Другие вопросы по тегам