Для этого метода:
ISteamUserAuth
AuthenticateUser
Версия: 1
Метод HTTP: POST
Параметры:
Имя: steamid
Тип: uint64
Необязательный:
Описание: Должны быть пользователи steamid, незашифрованные.
Параметры:
Имя: sessionkey
Тип: сырой
Необязательный:
Описание: должен быть 32-байтовый случайный блоб данных, который затем
зашифровано с помощью RSA с использованием открытого ключа системы Steam. Случайность
здесь важно для безопасности.Параметры:
Имя: encrypted_loginkey
Тип: сырой
Необязательный:
Описание: Должен быть хешированный логин пользователя, AES зашифрованный
сеансовый ключ.
Мне нужно 3 параметра. Для второго параметра sessionkey
Мне нужно зашифровать его с помощью открытого ключа системы Steam. Как именно я это получу?
После некоторого исследования я понял, что должен получить открытый ключ с помощью сертификата, и он должен выглядеть так этот.
Я использую php и, таким образом, я использую этот код для получения открытого ключа из сертификата:
<?php
$pub_key = openssl_pkey_get_public(file_get_contents('./cert.crt'));
$keyData = openssl_pkey_get_details($pub_key);
file_put_contents('./key.pub', $keyData['key']);
?>
Я не понимаю, какой сертификат использовать. Использую ли я сертификат сайта Steam? (cert.crt
будет сертификат)
У меня такое же сомнение. Я бы еще не пробовал, но:
curl -X POST "http://store.steampowered.com/login/getrsakey/"-d username="your_username"
Дает вам ключ RSA …
Других решений пока нет …