La aplicación de muestra en el sitio de desarrolladores de Android valida la compra json utilizando el código de Java. Alguien ha tenido suerte resolviendo cómo validar la compra en python. En particular en GAE?Verificación de la firma en un mensaje de compra de Android en la aplicación en Python en Google App Engine
Los siguientes son los extractos relevantes de la facturación en la aplicación de Android example program. Esto es lo que necesitaría convertirse a python usando PyCrypto, que fue reescrito completamente por Python para Google y es la única lib de seguridad disponible en el motor de la aplicación. Espero que Google sea genial conmigo utilizando los extractos a continuación.
private static final String KEY_FACTORY_ALGORITHM = "RSA";
private static final String SIGNATURE_ALGORITHM = "SHA1withRSA";
String base64EncodedPublicKey = "your public key here";
PublicKey key = Security.generatePublicKey(base64EncodedPublicKey);
verified = Security.verify(key, signedData, signature);
public static PublicKey generatePublicKey(String encodedPublicKey) {
try {
byte[] decodedKey = Base64.decode(encodedPublicKey);
KeyFactory keyFactory = KeyFactory.getInstance(KEY_FACTORY_ALGORITHM);
return keyFactory.generatePublic(new X509EncodedKeySpec(decodedKey));
} catch ...
}
}
public static boolean verify(PublicKey publicKey, String signedData, String signature) {
if (Consts.DEBUG) {
Log.i(TAG, "signature: " + signature);
}
Signature sig;
try {
sig = Signature.getInstance(SIGNATURE_ALGORITHM);
sig.initVerify(publicKey);
sig.update(signedData.getBytes());
if (!sig.verify(Base64.decode(signature))) {
Log.e(TAG, "Signature verification failed.");
return false;
}
return true;
} catch ...
}
return false;
}
no voy a publicar esto como una responda porque no puedo decir si es exactamente lo que busca, pero pruebe este [enlace - Código de Google] (http://code.google.com/appengine/articles/rpc.html), que muestra cómo escribir un Aplicación GAE que responderá con JSON, que podría modificar para proporcionar su validación Supongo – Timbermar