2014-11-22 221 views
0

对于这种方法:如何获得Steam公钥?

ISteamUserAuth

的authenticateUser

版本:1

HTTP方法:POST

参数:

名称:steamid

类型:UINT64

可选:

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

参数:

名称:sessionkey

类型:rawbinary

可选:

描述:应该是数据的32字节的随机团块,然后将其 与RSA使用加密Steam系统的公钥。在这里安全性的重要性是随机性 。

参数:

名称:encrypted_loginkey

类型:rawbinary

可选:

说明:应该是用户散列loginkey,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网站的证书? (​​将是证书)

回答

0

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

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

给你一个RSA密钥...