对于这种方法:
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
将是证书)