Добрый день!
Задача следующая, делаю соединение с биржей exmo, в описание API написано:
Sign — POST данные (param=val¶m1=val1), подписанные секретным ключом методом HMAC-SHA512, секретный ключ также нужно брать в настройках профиля пользователя.
Не совсем понятно, как получить сигнатуру средствами 1С:
Пробовалhttps://infostart.ru/public/284214/ , изменил там хэшфункцию на sha256,
В качестве СтрокаJSON передаю секретный ключ.
Но ничего не получается.
Опыт работы с HTTPЗапросами не велик, поэтому прошу помощи Гуру.
Задача следующая, делаю соединение с биржей exmo, в описание API написано:
Sign — POST данные (param=val¶m1=val1), подписанные секретным ключом методом HMAC-SHA512, секретный ключ также нужно брать в настройках профиля пользователя.
Не совсем понятно, как получить сигнатуру средствами 1С:
Пробовал
В качестве СтрокаJSON передаю секретный ключ.
Но ничего не получается.
Опыт работы с HTTPЗапросами не велик, поэтому прошу помощи Гуру.
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1)Если Ваша ОС Windows, можете попробовать с помощью PowerShell. Скажем https://infostart.ru/public/274486/
Функция подписи данных в этом случае:
Примерно так выглядит функция получения информации о пользователе:
Вообще там есть описание API с примерами (https://exmo.me/ru/api) . Можете взять любой удобный язык и переписать под себя на языке 1С.
Функция подписи данных в этом случае:
# Формирует цифровую подпись
function Sign-String
{
param (
$key,
$message
)
$hmacsha = New-Object System.Security.Cryptography.HMACSHA512
$hmacsha.key = [Text.Encoding]::UTF8.GetBytes($privateKey)
$signature = $hmacsha.ComputeHash([Text.Encoding]::UTF8.GetBytes($message))
return ByteTo-String $signature
}
ПоказатьПримерно так выглядит функция получения информации о пользователе:
# Получает информацию о пользователе
function Get-UserInfo
{
$function = "user_info"
$nounce = Get-Timestamp
$message = 'nonce=' + $nounce
$headers = @{}
$headers.Add("Key", $publicKey)
$signature = Sign-String -Key $privateKey -Message $message
$headers.Add("Sign", $signature)
$uri = $baseUri + $function
$response = Invoke-WebRequest -Uri $uri -Headers $headers -Method Post -Body $message
return $response.Content | ConvertFrom-Json | Select-Object
}
ПоказатьВообще там есть описание API с примерами (
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот