Как получить открытый ключ Steam?

Для этого метода:

ISteamUserAuth

AuthenticateUser

Версия: 1

HTTP-метод: POST

Параметры:

Имя: стим

Тип: uint64

По желанию:

Описание: Должен быть незашифрованный SteamID пользователя.

Параметры:

Имя: сеансовый ключ

Тип: необработанный двоичный файл

По желанию:

Описание: Должен быть 32-байтным случайным блоком данных, который затем шифруется с помощью RSA с использованием открытого ключа системы Steam. Случайность важна здесь для безопасности.

Параметры:

Имя: зашифрованный_логинкей

Тип: необработанный двоичный файл

По желанию:

Описание: Должен быть хэшированный ключ входа пользователя, зашифрованный 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 будет сертификатом)


person Vishwa Iyer    schedule 22.11.2014    source источник


Ответы (1)


У меня такое же сомнение. Я еще не пробовал, но:

curl -X POST "http://store.steampowered.com/login/getrsakey/" 
     -d username="your_username"

Дает вам ключ RSA...

person André Rodrigues    schedule 17.12.2014