0

对于这种方法:

ISteam用户身份验证

验证用户

版本:1

HTTP 方法:POST

参数:

名称:蒸汽机

类型:uint64

可选的:

说明:应该是用户steamid,未加密。

参数:

名称:会话密钥

类型:原始二进制

可选的:

描述:应该是一个 32 字节的随机数据块,然后使用 Steam 系统的公钥通过 RSA 加密。随机性在这里对于安全性很重要。

参数:

名称: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将是证书)

4

1 回答 1

0

I have the same doubt. I'd not tried it yet, but:

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

Gives you a RSA key...

于 2014-12-17T22:50:23.063 回答