Hola!
Estoy intentando verificar las compras que me llegan en Android mediante opensll_verify() en php
Cada vez que intento hacerlo me devuelve siempre el mismo error:
"error:0906D06C:PEM routines:PEM_read_bio:no start line"
La verdad es que ya no se que mas probar, si alguien pudiera echarme un cable...
El codigo que estoy usando es el siguiente
Código:
function verify_market_in_app($signed_data, $signature, $public_key_base64)
{
$key = "-----BEGIN PUBLIC KEY-----\n".
chunk_split($public_key_base64, 64,"\n").
'-----END PUBLIC KEY-----';
//using PHP to create an RSA key
$key = openssl_get_publickey($key);
//$signature should be in binary format, but it comes as BASE64.
//So, I'll convert it.
$signature = base64_decode($signature);
//using PHP's native support to verify the signature
$result = openssl_verify(
$signed_data,
$signature,
$key,
OPENSSL_ALGO_SHA1);
if (0 === $result)
{
return false;
}
else if (1 !== $result)
{
return false;
}
else
{
return true;
}
}
En $signed_data tengo la "recipe" en String que me devuelve Google
En $signature esta la signature que me devuelve Google en String
En $key tengo la public key que saco de la consola de google
La verdad es que ya no se que mas probar... tengo que pasarle de alguna fom