Foros del Web » Programando para Internet » Android »

problemas con openssl_verify() para las compras

Estas en el tema de problemas con openssl_verify() para las compras en el foro de Android en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 27/07/2015, 06:02
 
Fecha de Ingreso: abril-2007
Mensajes: 7
Antigüedad: 17 años, 7 meses
Puntos: 0
problemas con openssl_verify() para las compras

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

Etiquetas: androi, app, compras
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:16.