Правильная ссылка на эту статью: |
WMSignerJX
WMSigner для платформы Java (WMSignerJX)¶
Данная статья предназначена для разработчиков, использующих интерфейсы WebMoney Transfer в Java приложениях.
Цель статьи: пояснить специфику работы с библиотекой webmoney.cryptography [java] (кодовое название WMSignerJX).
Библиотека webmoney.cryptography [java] используется для получения цифровой подписи сообщения закрытым ключом WM Keeper WinPro. Является клоном библиотеки WMSignerFX.
Последняя версия библиотеки 1.0.
Пример получения подписи сообщения на языке Java:¶
package webmoney.examination; import java.io.UnsupportedEncodingException; import webmoney.cryptography.Signer; public class Program { public static void main(String[] args) throws UnsupportedEncodingException { byte[] exponent = new byte[]{(byte) 0x7D, (byte) 0xB2, (byte) 0x36, (byte) 0x08, (byte) 0xBD, (byte) 0x9E, (byte) 0x8C, (byte) 0x0F, (byte) 0xA8, (byte) 0xED, (byte) 0xAE, (byte) 0x02, (byte) 0x6C, (byte) 0x29, (byte) 0x59, (byte) 0x1B, (byte) 0x22, (byte) 0xB0, (byte) 0xCF, (byte) 0x37, (byte) 0xC2, (byte) 0xFE, (byte) 0xA7, (byte) 0x13, (byte) 0xB1, (byte) 0x29, (byte) 0xBF, (byte) 0x0B, (byte) 0x88, (byte) 0x57, (byte) 0xC0, (byte) 0x59, (byte) 0x1B, (byte) 0xBD, (byte) 0xA4, (byte) 0xE9, (byte) 0xB3, (byte) 0x1D, (byte) 0x2E, (byte) 0xCC, (byte) 0x5F, (byte) 0xA0, (byte) 0x8F, (byte) 0xE0, (byte) 0x9D, (byte) 0xE6, (byte) 0xA1, (byte) 0xE5, (byte) 0x0C, (byte) 0x6C, (byte) 0xEE, (byte) 0x9B, (byte) 0xD2, (byte) 0x67, (byte) 0xE3, (byte) 0x90, (byte) 0x10, (byte) 0xCE, (byte) 0xBD, (byte) 0x58, (byte) 0xFE, (byte) 0xAA, (byte) 0x28, (byte) 0xBB, (byte) 0xBF, (byte) 0x00}; byte[] modulus = new byte[]{(byte) 0x55, (byte) 0x1F, (byte) 0xFF, (byte) 0x9E, (byte) 0xC2, (byte) 0xFE, (byte) 0xF3, (byte) 0x4C, (byte) 0xD0, (byte) 0x02, (byte) 0x67, (byte) 0xBE, (byte) 0xB9, (byte) 0xD7, (byte) 0xCF, (byte) 0x6A, (byte) 0x72, (byte) 0x63, (byte) 0x66, (byte) 0xE4, (byte) 0xC9, (byte) 0x5D, (byte) 0xB5, (byte) 0x62, (byte) 0x77, (byte) 0x44, (byte) 0x3C, (byte) 0x42, (byte) 0x7B, (byte) 0x65, (byte) 0x9D, (byte) 0xF0, (byte) 0x1E, (byte) 0x76, (byte) 0xBE, (byte) 0x7B, (byte) 0x4D, (byte) 0x99, (byte) 0xC5, (byte) 0x8C, (byte) 0xA4, (byte) 0xA6, (byte) 0x09, (byte) 0x62, (byte) 0x6C, (byte) 0xA4, (byte) 0x91, (byte) 0x94, (byte) 0xEE, (byte) 0xC2, (byte) 0xEC, (byte) 0xDD, (byte) 0x53, (byte) 0xF5, (byte) 0x73, (byte) 0x46, (byte) 0xEC, (byte) 0xD6, (byte) 0xE1, (byte) 0xB0, (byte) 0xD4, (byte) 0xCB, (byte) 0xD6, (byte) 0xF0, (byte) 0x6E, (byte) 0x05}; Signer signer = new Signer(exponent, modulus); String signature = signer.sign("message"); // подпись строки System.out.print(signature); } }
Для запуска этого кода, необходимо добавить в проект ссылку на библиотеку webmoney.cryptography [java].
Объект класса Signer инициализируется закрытой экспонентой (exponent) и модулем (modulus), которые можно получить из файла закрытого ключа WM Keeper WinPro .kwm с помощью программы Key Extractor.
Ссылки на ресурсы¶
- Сайт проекта WMSignerJX
- Исходный код
- JAR-файл
- Зеркало
- SVN репозиторий (старые версии в папке tags, текущая версия в папке trunk).