Skip to content

Шифрование данных

В API используется шифрование для защиты передаваемых данных. Основной алгоритм шифрования — RSA. Для успешной интеграции необходимо получить открытый ключ шифрования от поставщика API.


Описание алгоритма шифрования

  • Алгоритм: RSA
  • Используемый ключ: Открытый ключ, предоставляемый при заключении договора.
  • Формат данных: Шифруются только те параметры, которые указаны в описании методов.
  • Формат передачи данных:
  • Зашифрованные данные помещаются в тело запроса или передаются в формате Query Parameters.
  • Нешифрованные данные передаются в формате JSON.

Процесс шифрования

  1. Параметры, подлежащие шифрованию, преобразуются в строку.
  2. Строка шифруется с использованием предоставленного открытого ключа RSA.
  3. Результат шифрования отправляется в запросе.

Пример реализации шифрования на PHP

<?php
function encryptData($data) {
    // Путь к открытому ключу
    $path_to_cert = 'cert.pem';
    $publicCert = file_get_contents($path_to_cert);

    // Шифрование данных
    openssl_public_encrypt($data, $encryptedData, $publicCert);
    return $encryptedData;
}
// Пример использования
$data = "some_unique_password";
$encryptedPassword = encryptData($data);
echo $encryptedPassword;
?>

Пример запроса с использованием шифрования

POST https://api.prostodar.ru/partner/get_balance/ Тело запроса

{
  "partnerName": "mts",
  "partnerPassword": "encrypted_password",
  "useAuthByCert": "Y"
}

Дополнительные пояснения

  • partnerPassword: Данный параметр должен быть зашифрован перед отправкой запроса. Используйте предоставленный открытый ключ для шифрования.
  • useAuthByCert: Параметр, который указывает на использование шифрования.
  • Значение "Y" означает, что шифрование включено.
  • Значение "N" указывает на отсутствие шифрования.

Примечания

  1. Проверка IP-адреса:
    Перед началом работы убедитесь, что ваш IP-адрес добавлен в список доверенных у поставщика API. Это обязательное условие для успешной интеграции.