Теперь, когда мы в 2016 году, вот как это сделать с

р приложения на сайте разработчиков Android проверяет покупку JSON с помощью кода Java. У кого-нибудь была удача решить, как проверить покупку в python. В частности в GAE?

Ниже приведены соответствующие выдержки из Android-биллинга в приложении.пример программы, Это то, что должно быть преобразовано в Python с помощьюPyCrypto которая была переписана Google как полностью python и является единственной библиотекой безопасности, доступной в движке приложения. Надеюсь, Google здорово со мной использует выдержки ниже.

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;
}

Ответы на вопрос(3)

Ваш ответ на вопрос