Skip to content
Find file
Fetching contributors…
Cannot retrieve contributors at this time
143 lines (98 sloc) 7.47 KB
*** ВНИМАНИЕ ***
Если Вы используете язык программирования отличный от shell(bash), то имеет смысл
обратить внимание на библиотеки с поддержкой используемого языка:
http://wiki.webmoney.ru/wiki/show/WMSigner
****************
Модуль wmsigner предназначен для генерации подписи произвольной строки.
Подробнее вы можете узнать об этом на странице
http://www.webmoney.ru/rus/developers/interfaces/xml/authdescr/wmsigner.shtml
Для компиляции выполните команду
$ make
в результате чего будет создан модуль wmsigner и модуль code64.
В случае ошибок компиляции установите требуемые компилятором библиотеки.
На подавляющем большинстве систем компиляция проходит успешно.
Для win32 модули wmsigner.exe и code64.exe поставляются в скомпилированном виде.
Для тестирования работоспособности нужно положить в каталог компиляции
файл ключа и создать файл test.ini c 5-ю строчками:
WMID-идентификатор ( пример: 123456789012 )
пароль к файлу ключей ( my_pass )
путь к файлу ключей ( ./123456789012.kwm (unix) или 123456789012.kwm (win32) )
имя исполняемого модуля ( ./wmsigner (unix) или wmsigner.exe (win32) )
имя исполняемого модуля кодера-декодера ключа( ./code64 (unix) или code64.exe (win32) )
Пример этого файла - прилагается.
и выполнить команду
$ make test
Под Windows для тестирования Вам понадобится ActivePerl с модулем Net::SSLeay
> test_w32.bat
Если все тесты прошли успешно, то можно собранные модули можно использовать.
Для установки его в каталог /usr/local/bin выполните команду
$ make install
Для установки в каталог пользователя просто скопируйте туда файл wmsigner (wmsigner.exe).
Если ваш хостинг-провайдер не предоставляет вам консольного доступа, необходимо
попросить поддержку хостинга собрать модуль.
Для работы модуля необходимы файлы wmsigner.ini (создается самостоятельно
пользователем) и файл ключей WebMoney WM-магазина.
Чаще всего модуль должен располагаться либо в $HOME пользователя, либо в подкаталоге.
НЕЛЬЗЯ РАСПОЛАГАТЬ МОДУЛЬ ТАМ ЖЕ ГДЕ И СКРИПТЫ, т.к. в этом случае с сайта можно будет
скачать конфигурационный файл, в котором содержится пароль к файлу ключей.
Файл wmsigner.ini модуль ищет в том же каталоге где находится сам.
Необходимо на него поставить право на чтение (wmsigner должен иметь право прочесть его).
Следующий шаг - создание файла wmsigner.ini
Он описывает ваш WM-идентификатор, и содержит, по строкам :
wm идентификатор
пароль к нему
путь с именем файла ключей
Типичная конфигурация:
Каталог скриптов и html-документов: /home/my_site/html
Каталог расположения wmsigner: /home/my_site/sign
Конфигурационный файл: /home/my_site/sign/wmsigner.ini :
123456789012
pass
/home/my_site/sign/keyfile.kwm
При работе с ключами сгенерированными в WM Keeper Classic версии 2.4.0.1 и выше
для работы с Signer нужно использовать РЕЗЕРВНУЮ копию ключей и пароль от
РЕЗЕРВНОЙ копии ключей.
Проверить работоспособность wmsigner-а можно и так:
$ echo -ne "TestString123\004\r\n" | ./wmsigner
923642a9898f98798c23d5678e23498c98a42c46527...
^^^^^^
этот текст уже выведет wmsigner
Если же вы не получили строки из цифр и символов - значит что-то не так.
Если он выводит ошибку - значит вы неправильно настроили файл wmsigner.ini,
либо имеете некорректный файл ключей.
При формировании строк с переводами строки используйте только
последовательность 0x0D 0x0A, подаваемую на подпись и в сертификационный
центр.
wmsigner версии 2.0 имеет следующие опции командной строки:
-p [--password] : Password for key_file
-w [--wmid] : 123456789012 : WMID (12 digits)
-s [--sign] : string_to_signification : signing specified string
-i [--ini-path] : Correct path to ini_file with ini_file_name *.ini
-k [--key-path] : Correct path to key_file with key_file_name
-K64 [--key-base64] : Text string in Base64 code, contain the key for wmsigner
-h [--help] : Help (this srceen)
-v [--version] : Version of program
Таким образом, возможно использование wmsigner'а как без файла wmsigner.ini
(вариант: он может иметь другое имя), так и без хранения файла ключей на диске
(он может хранится например в базе данных или в коде программы)
Возможные ошибки:
Error 20
Невозможно загрузить конфигурационный файл wmsigner.ini.
!LoadKeys Error 2
Невозможно загрузить файл ключей.
Error -3
Пароль неверный. Возможно Вы используете пароль от основного ключа
(не резервной копии).
Error -4
Не задан WMID
Error -5
Не задан пароль от файла ключей
Error -6
Не задан файл ключей
Segmentation fault.
wmsigner был скомпилирован на другой системе или файл ключей больше чем 164 байта.
С вопросами обращайтесь на unix@wmtransfer.com
Владелец и администратор WM Transfer Ltd.
Реквизиты: No.35 New Road, P.O. Box 1708, Belize City, Belize,
Управляющая компания – международная адвокатская компания UAB «DICSA BALTIC»
(Kraziu Str. 21, 01108, Vilnius, Lithuania), Директор – Giedre Petkunaite.
Something went wrong with that request. Please try again.