views:

195

answers:

1

Hello I'm trying to understand how certificate and asymmetric encryption works. I'm looking for a python library where i can import public or private ca signed certificates and automatically encrypt or decrypt message in string format, i viewed the crypto library embedded in python source, but i don't know how to use the hex modulus and exponent in this part of the certificate:

RSA Public Key: (1024 bit)  

               Modulus (1024 bit):

               00:b4:31:98:0a:c4:bc:62:c1:88:aa:dc:b0:c8:bb:  
               33:35:19:d5:0c:64:b9:3d:41:b2:96:fc:f3:31:e1:  
               66:36:d0:8e:56:12:44:ba:75:eb:e8:1c:9c:5b:66:  
               70:33:52:14:c9:ec:4f:91:51:70:39:de:53:85:17:  
               16:94:6e:ee:f4:d5:6f:d5:ca:b3:47:5e:1b:0c:7b:  
               c5:cc:2b:6b:c1:90:c3:16:31:0d:bf:7a:c7:47:77:  
               8f:a0:21:c7:4c:d0:16:65:00:c1:0f:d7:b8:80:e3:  
               d2:75:6b:c1:ea:9e:5c:5c:ea:7d:c1:a1:10:bc:b8:  
               e8:35:1c:9e:27:52:7e:41:8f  

           Exponent: 65537 (0x10001)

is there anyone can help me?

thanks

+1  A: 

MeTooCrypto:

M2Crypto is the most complete Python wrapper for OpenSSL featuring RSA, DSA, DH, HMACs, message digests, symmetric ciphers (including AES); SSL functionality to implement clients and servers; HTTPS extensions to Python's httplib, urllib, and xmlrpclib; unforgeable HMAC'ing AuthCookies for web session management; FTP/TLS client and server; S/MIME; ZServerSSL: A HTTPS server for Zope and ZSmime: An S/MIME messenger for Zope. M2Crypto can also be used to provide SSL for Twisted.

For an example of loading and manipulating PKI keys, see the test source, test_rsa.py. The test source directory contains keys in .pem format, and those are used by the code.

gimel