Форум сайта python.su
I'm tring to encrypt digest (MD5) with RSA KEY
from M2Crypto import RSA
import md5
hash = md5.new('blah-blah').digest()
pk = RSA.load_key('key.pem') ## key.pem generated by >> openssl genrsa key.pem
pk.private_encrypt(hash, RSA.pkcs1_padding)
Traceback (most recent call last):
File “<stdin>”, line 1, in ?
File “/var/lib/python-support/python2.4/M2Crypto/RSA.py”, line 59, in private_encrypt
return m2.rsa_private_encrypt(self.rsa, data, padding)
M2Crypto.RSA.RSAError: data too large for key size
What's wrong???????????????????
Офлайн
Странно. У меня все без проблем работает.
$ openssl genrsa -out key.pem
Generating RSA private key, 512 bit long modulus
..++++++++++++
………………….++++++++++++
e is 65537 (0x10001)
$ python
Python 2.4.3 (#1, Oct 1 2006, 18:00:19)
on linux2
Type “help”, “copyright”, “credits” or “license” for more information.
>>> from M2Crypto import RSA
>>> import md5
>>> hash = md5.new('some shit').digest()
>>> pk = RSA.load_key('key.pem')
>>> pk.private_encrypt(hash, RSA.pkcs1_padding)
“&%\xed>\xd9<[\xae\x98H\xc8ua`\xc6QMB\x80\x1c\x14\x1e\x9e\xf8\xefy\x81\x9a3\x15\x9e)'\x0c\xe6\r\xee.\x81f\x11\xc6'\xc0Y\x0e\x8a$\x01l{\xae\x03F\x84h\xbc3\x15\x1c\x87mnT”
>>>
Офлайн
вот млин, оказывается openssl сгенерил неправильный ключ. сам не понимаю как так случилось, но я даже не догадывался, что дело в самом ключе….. сгенерил новый и все заработало…
спасибо за внимание
Офлайн