안드로이드 개발자 사이트의 샘플 애플리케이션은 java 코드를 사용하여 json의 유효성을 검사합니다. 아무도 python으로 구매를 검증하는 방법을 찾지 못했다. 특히 GAE에서?Google App Engine의 Python에서 안드로이드 인앱 구매 메시지의 서명 확인
다음은 Android 인앱 결제 example program의 발췌 내용입니다. 이것은 PyCrypto을 사용하여 파이썬으로 변환해야하며, 이는 Google이 완전히 파이썬으로 작성했으며, 앱 엔진에서 사용할 수있는 유일한 보안 lib입니다. 바라건대 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;
}
이 나는대로이를 게시하지 않을거야 당신이 정확히 무엇을 찾고 있는지를 알 수 없기 때문에 답변을 해보지 만,이 [link - Google Code] (http://code.google.com/appengine/articles/rpc.html)를 사용해보십시오. 내가 생각하는 유효성을 제공하기 위해 수정할 수있는 JSON으로 응답 할 GAE 앱 – Timbermar