Я пытался проверить покупку inapp на стороне сервера после получения ответа от внешнего интерфейса на стороне Android .Фронтенд разработчик пришлите мне информацию ниже.Я использую openssl_get_publickey () для открытого ключа (Получить из консоли Google) и функцию openssl_verify (), но каждый раз получаю ответ false / 0.Пожалуйста, помогите мне решить проблему.Заранее спасибо.
$signedData = array(
"orderId" => 'GPA.3333-5628-5675-XXXX',
"packageName" => 'com.xxxxxxxx',
"productId" => 'sample_test_purchase',
"purchaseTime" => 1539165004552,
"purchaseState" => 0,
"purchaseToken" => $purchase_token
);
$signedData = json_encode($signedData);
$base64EncodedPublicKey = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAlrVLmLsjKbT+D96evuqmVrMq5FnTVtYOJY5AF2R/sadfasfasdfasdfasdfasdf+DQ3kCxGj+dfgdsxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxXx/NZyXxxxxxxxx";
$key = "-----BEGIN PUBLIC KEY-----\n" . chunk_split($base64EncodedPublicKey, 64, "\n") . '-----END PUBLIC KEY-----';
$key = openssl_get_publickey($key);
$sign=base64_decode($input_fields->signature);
$result = openssl_verify($signedData,$sign,$key,OPENSSL_ALGO_SHA1);
вывод: 0 или ложный результат is0error: 0906D06C: процедуры PEM: PEM_read_bio