この方法の場合:
ISteamUserAuth
AuthenticateUser
バージョン: 1
HTTP メソッド: POST
パラメーター:
お名前: 湯気
タイプ: uint64
オプション:
説明: ユーザーは暗号化されていない steamid である必要があります。
パラメーター:
名前: セッションキー
タイプ: rawbinary
オプション:
説明: データの 32 バイトのランダム BLOB である必要があり、Steam システムの公開鍵を使用して RSA で暗号化されます。ここでは、セキュリティのためにランダム性が重要です。
パラメーター:
名前: encrypted_loginkey
タイプ: rawbinary
オプション:
説明: ユーザーがハッシュ化されたログインキーであり、セッションキーで AES 暗号化されている必要があります。
3 つのパラメータが必要です。2 番目のパラメーターについては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 Web サイトの証明書を使用しますか? (cert.crt
証明書になります)