Пытаюсь понять как авторизоваться на делфи к бирже БТЦ-е, ничегошеньки даже и рядом у меня не получается!
Вот к чему пришел но оно не работает, не могу понять как декодить строку в нормальный формат ну или вообще я туда копаю или нет?
Условия авторизации:
Code: Select all
Авторизация происходит посредством отправки следующих HTTP заголовков:
Key — API-ключ. пример API-ключа: 46G9R9D6-WJ77XOIP-XH9HH5VQ-A3XN3YOZ-8T1R8I8T;
Sign — POST данные (?param=val¶m1=val1), подписанные секретным ключом методом HMAC-SHA512;
Отправленных на https://btc-e.com/tapi .
Так же необходимо посылать POST-параметр nonce с инкрементным числовым значением.(>0)
Code: Select all
function EncryptHMACSHA512(const Input : String; const AKey : String) : PChar;
begin
IdSSLOpenSSL.LoadOpenSSLLibrary;
with TIdHMACSHA512.Create do
try
Key := ToBytes(AKey);
result := PChar(HashValue(ToBytes(Input)));
finally
Free;
end;
end;
procedure PostMessage(const Text : String);
var
PostData : TStringList;
Response : TStringStream;
begin
try
Response := TStringStream.Create('');
PostData := TStringList.Create;
PostData.Clear;
PostData.Add('Key=' + Key + '&');
PostData.Add('Sign=' + WideString(EncryptHMACSHA512(Key, Sign)));
Form1.Edit2.Text := PostData.Text;
Form1.IdHTTP1.Post('https://btc-e.com/tapi', PostData, Response);
Form1.Edit1.Text := Response.DataString;
finally
Response.Free;
PostData.Free;
end;
end;
З.Ы. https://github.com/DmT021/BtceApi реализация на шарпе.