如何获得Steam公钥?

时间:2014-11-22 22:41:54

标签: php ssl encryption public-key steam-web-api

对于这种方法:

  

ISteamUserAuth

     

的authenticateUser

     

版本:1

     

HTTP方法:POST

     

参数:

     

姓名:steamid

     

输入:uint64

     

可选:

     

描述:用户应该是加密的,未加密的。

     

参数:

     

名称:sessionkey

     

输入:rawbinary

     

可选:

     

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

     

参数:

     

名称:encrypted_loginkey

     

输入:rawbinary

     

可选:

     

描述:应该是用户哈希登录密钥,AES加密的   sessionkey。

我需要3个参数。对于第二个参数sessionkey,我需要使用Steam系统的公钥对其进行加密。我到底该怎么做?

经过一些研究后我发现我必须使用证书获取公钥,它应该看起来像this

我正在使用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将是证书)

1 个答案:

答案 0 :(得分:0)

我有同样的疑问。我还没试过,但是:

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

给你RSA密钥......