Un saludo cordial a todos.
Estoy casi seguro que este tema no pertenece a php, pero ya que lo estoy intentando hacer con PHP lo posteo aqui y si no pertenece, por favor moverlo al area correspondiente....
Tengo el siguiente problema, estoy integrando una aplicacion con una empresa al estilo Paypal (aclaro no es paypal), para lo cual me piden un XML en el cual va un nodo llamado <Firma>, pues bien, este nodo debe ir encriptado segun las palabras de ellos "RSA con Hash md5 en base 64, codificación PEM", por mi conocimiento en encriptaciones asimetricas, PEM ya es de por si una codificacion base64.
Entonces, lo que yo hago actualmente es generar el nodo <Firma>, obtengo el hash md5 de este asi:
Código PHP:
$hash_md5=md5($nodo);
Luego, encripto con la llave este hash con openssl_private_encrypt (se me pide que encripte con mi llave privada y no la publica de ellos) y por ultimo codifico el resultado con la funcion base64_encode, y la respuesta que recibo de ellos es:
Mensaje de nuestro log: “Firma no válida”
tambien ya probe en lugar de encriptar el nodo, de firmarlo, y siempre recibo esa respuesta, lo cual me deja con dudas con respecto al procedimiento.
Al final, utilizo openssl con la funcion excec() y siempre llega invalido mi nodo, podrian hecharme una mano para entender un poco mejor la logica de lo que debo de hacer.
Gracias a todos de ante mano.