Проверка цифровой подписи в Google App Engine - PullRequest
1 голос
/ 15 декабря 2011

Я использую GAE (python) и должен проверить цифровую подпись с помощью открытого ключа (формат pem) Я не могу использовать M2Crypto (он не поддерживается в GAE), и ни один из следующих кодов не работает:

pubKey = pem

from Crypto import PublicKey
key = PublicKey.RSA.importKey(pubKey)

Теперь, чтобы этот код работал, у нас должен быть пакет Pycrypto, который уже есть в appengine, но функция 'impotkey ()' выдает ошибку Также я не могу найти класс RSAImplementation в пакете Pycrypto в GAE

EDIT:

ХОРОШО, После нескольких часов ошеломления, наконец, понял проблему. Проблема с версией модуля pycrypto. Из того, что я вижу, GAE поддерживает Pycrypto версии 2.0.1, которая, похоже, не имеет определенных классов и методов, таких как RSAImplementation и ImportKey (). Я обновил Pycrypto до 2.4 на своей локальной машине, и там он может выяснить RSAImplementation и importKey ().

Также проверил журнал изменений для Pycrypto https://github.com/dlitz/pycrypto/blob/62247ca754657b6ee8370d8fd62c58b8b881f396/ChangeLog Похоже, поддержка импорта открытого ключа в формате pem есть только в версии 2.2

Тем не менее основная проблема остается ... Как проверить цифровую подпись с использованием RSA в GAE (поскольку GAE использует Pycrypto версии 2.0.1)

...