「Unity/課金/リモートレシート検証/phpサーバ」の版間の差分
提供: 初心者エンジニアの簡易メモ
(→sslが有効になってるか確認) |
|||
| 行1: | 行1: | ||
| − | == | + | ==サーバのsslが有効になってるか確認== |
<pre> | <pre> | ||
if (extension_loaded('openssl')) { | if (extension_loaded('openssl')) { | ||
| 行9: | 行9: | ||
</pre> | </pre> | ||
OpenSSLは有効になっています。OpenSSL バージョン:OpenSSL 3.0.7 1 Nov 2022 | OpenSSLは有効になっています。OpenSSL バージョン:OpenSSL 3.0.7 1 Nov 2022 | ||
| + | |||
==phpで検証== | ==phpで検証== | ||
<pre> | <pre> | ||
2025年3月18日 (火) 13:39時点における版
サーバのsslが有効になってるか確認
if (extension_loaded('openssl')) {
echo "OpenSSLは有効になっています。\n";
echo "OpenSSL バージョン: " . OPENSSL_VERSION_TEXT . "\n";
} else {
echo "OpenSSLは無効になっています。\n";
}
OpenSSLは有効になっています。OpenSSL バージョン:OpenSSL 3.0.7 1 Nov 2022
phpで検証
$receiptJson = '{"orderId":"GPA.xxxx-xxxx-xxxx-xxxxx","productId":"product1",...}';
$signature = base64_decode('[signatureデータ]');
// 下記のURLなどを参考にpem形式に変換
// FYI: http://php.net/manual/ja/ref.openssl.php
$publicKey = der2pem(base64_decode('[googleplay収益化セットアップのrsa公開鍵]'));
if (openssl_verify($receiptJson, $signature, openssl_get_publickey($publicKey)) === 1) {
// 検証ok
}
