2010-03-02 1 views
7

Есть ли какой-либо известный способ подписать строку обычного текста с закрытым ключом RSA в SDK Google App Engine Python?Подписание строки с закрытым ключом RSA в Google App Engine Python SDK

+0

Просто нашел решение по этой теме http://groups.google.com/group/google-appengine-python/browse_thread/thread/ca8b1182d9ac3e5b/8780327439c3cf7a? lnk = gst & q = RSA # 8780327439c3cf7a –

+0

Если вам нужна безопасная реализация, вам понадобится схема подписи RSA, в которой используется соответствующее дополнение. Ни пикрипто, ни реализация на http://stuvel.eu/rsa, рекомендованные в одном из ответов, не используют правильное заполнение и, следовательно, не должны использоваться. Python имеет некоторые привязки к хорошим реализациям, таким как openssl, но, к сожалению, я не знаю, что доступно в приложении Google. – Accipitridae

ответ

6

Библиотека tlslite, включенная в библиотеку python gdata, является хорошим вариантом.

http://code.google.com/p/gdata-python-client/

пример:

from tlslite.utils import keyfactory 
private_key = keyfactory.parsePrivateKey(rsa_key) 
signed = private_key.hashAndSign(data) 
3

Я не использовал его, но это, кажется, чисто-Python RSA реализации, поэтому он может работать на App Engine:

http://stuvel.eu/rsa

Их Mercurial repo, как представляется, достаточно активно, тоже.