Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Delphi работа с Cyberplat

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

ivan76

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Нужна помощь сообщества.
 
Есть платежная система Киберплат, занимается процессинговыми услугами.
 
На сайте в разделе техподдержка имеются примеры и библиотека для работы с Cyberplat, в частности процедура подписи сообщений:
 
procedure TfrmMain.Button1Click(Sender: TObject);
var
    res : integer;
    pkey: IPRIV_KEY;
    S   : string;
begin
    Crypt_Initialize;
    res:= Crypt_OpenSecretKeyFromFile(IPRIV_ENGINE_RSAREF, 'secret.key', '1111111111', @pkey);
    if res=0 then
    begin
        SetLength(S, 1000);
        res:=Crypt_Sign( PChar('test'), -1, PChar(S), 1000, @pkey);
        if res=0 then
        begin
            memo1.Text := S;
        end;
        Crypt_CloseKey(@pkey);
 
        res:=Crypt_OpenPublicKeyFromFile(IPRIV_ENGINE_RSAREF, 'pubkeys.key', 17033, @pkey, nil);
        if res=0 then
        begin
            res:=Crypt_Verify(PChar(S), -1, nil, 0, @pkey);
            Crypt_CloseKey(@pkey);
        end;
    end;
    Crypt_Done;
end;  
 
 
На этой строке res:= Crypt_OpenSecretKeyFromFile(IPRIV_ENGINE_RSAREF, 'secret.key', '1111111111', @pkey);
 
но функция возвращает значение 15, что описано как:
CRYPT_ERR_FILE_NOT_FOUND=        -15;    // Файл не найден
 
не могу понять в чем дело, файлы и ключи в одной папке, пути указаны верно.
 
Помогите решить проблему, в долгу не останусь

Всего записей: 157 | Зарегистр. 04-12-2003 | Отправлено: 11:28 15-03-2017
ShIvADeSt



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ivan76

Цитата:
Crypt_OpenPublicKeyFromFile(IPRIV_ENGINE_RSAREF, 'pubkeys.key', 17033, @pkey, nil);  

Для начала попробуйте полный путь указать. Рабочий каталог может быть изменен (например, через ярлык) и программа может искать файлы в другом месте. Учитесь всегда самостоятельно строить путь до нужных объектов, а то можете получить непредсказуемый результат.

----------
И создал Бог женщину... Существо получилось злобное, но забавное...

Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 02:21 16-03-2017
ivan76

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Для начала попробуйте полный путь указать. Рабочий каталог может быть изменен (например, через ярлык) и программа может искать файлы в другом месте. Учитесь всегда самостоятельно строить путь до нужных объектов, а то можете получить непредсказуемый результат.

 
Конечно, полный путь был указан, результат тот же, ошибка 15

Всего записей: 157 | Зарегистр. 04-12-2003 | Отправлено: 10:37 16-03-2017
Alexzzy

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ivan76
Через Process Monitor посмотрите как идет обращение к файлам.

Всего записей: 1474 | Зарегистр. 10-07-2013 | Отправлено: 11:06 16-03-2017
ivan76

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Через Process Monitor посмотрите как идет обращение к файлам.

 
Не поверите, но Process Monitor показывает все, кроме нужной программы.
 
На всякий случай выложил библиотеку и пример на https://yadi.sk/d/p3zh-x1K3FwwDy
Посмотрите кому не трудно, вес 33KB

Всего записей: 157 | Зарегистр. 04-12-2003 | Отправлено: 11:32 16-03-2017
Alexzzy

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ivan76

Цитата:
Не поверите, но Process Monitor показывает все, кроме нужной программы.  

Не поверю. Если запускается под отладчиком надо bds.exe смотреть.
 
libipriv.pas похоже под неюникодные дельфи. Поменять наверное надо все Char, PChar, PPChar на AnsiChar, PAnsiChar, PPAnsiChar.

Всего записей: 1474 | Зарегистр. 10-07-2013 | Отправлено: 13:57 16-03-2017
ivan76

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Не поверю. Если запускается под отладчиком надо bds.exe смотреть.  
 
libipriv.pas похоже под неюникодные дельфи. Поменять наверное надо все Char, PChar, PPChar на AnsiChar, PAnsiChar, PPAnsiChar.

 
Знаю, сам бы не поверил)
 
Вот за идею спасибо, в голову не пришло, сейчас попробую

Всего записей: 157 | Зарегистр. 04-12-2003 | Отправлено: 14:00 16-03-2017
Zatupitel



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
А зачем все вообще это делать в дельфине ?
Какая задача ?

Всего записей: 469 | Зарегистр. 31-08-2006 | Отправлено: 19:24 21-07-2017
ivan76

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
А зачем все вообще это делать в дельфине ?  
Какая задача ?

 
Терминальный киоск, оплата услуг ГИБДД

Всего записей: 157 | Зарегистр. 04-12-2003 | Отправлено: 22:06 21-07-2017
Zatupitel



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
У них вроде был модуль на перл. Работал без проблем под апачем.

Всего записей: 469 | Зарегистр. 31-08-2006 | Отправлено: 04:13 22-07-2017
ivan76

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
У них вроде был модуль на перл. Работал без проблем под апачем.

 
Все уже сделано, у заказчика были не совсем понятные для меня требования в общей схеме работы терминалов. Терминалы пересылали данные на центральный сервер, далее оператор просматривал поступившие платежи и отмечал нужные для передачи в киберплат для оплаты.

Всего записей: 157 | Зарегистр. 04-12-2003 | Отправлено: 10:05 22-07-2017
abasov79

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
-

Всего записей: 1 | Зарегистр. 01-09-2020 | Отправлено: 23:18 01-09-2020 | Исправлено: abasov79, 09:17 02-09-2020
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Delphi работа с Cyberplat


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru