source: TI12-security/branches/Dependencies/m2crypto/README @ 2172

Subversion URL: http://proj.badc.rl.ac.uk/svn/ndg/TI12-security/branches/Dependencies/m2crypto/README@2237
Revision 2172, 1.7 KB checked in by pjkersha, 13 years ago (diff)
Line 
1=========
2 M2Crypto
3=========
4
5:Maintainer: Heikki Toivonen
6:Web-Site: http://wiki.osafoundation.org/bin/view/Projects/MeTooCrypto
7
8
9M2Crypto = Python + OpenSSL + SWIG
10------------------------------------
11
12M2Crypto is a crypto and SSL toolkit for Python.
13
14M2 stands for "me, too!"
15
16M2Crypto comes with the following:
17
18- **RSA**, **DSA**, **DH**, **HMACs**, **message digests**,
19  **symmetric ciphers** including **AES**,
20
21- **SSL** functionality to implement **clients and servers**.
22
23- **Example SSL client and server programs**, which are variously
24  **threading**, **forking** or based on **non-blocking socket IO**.
25
26- **HTTPS** extensions to Python's **httplib, urllib and xmlrpclib**.
27
28- Unforgeable HMAC'ing **AuthCookies** for **web session management**.
29
30- **FTP/TLS** client and server.
31
32- **S/MIME v2**.
33
34- **ZServerSSL**: A **HTTPS server for Zope**.
35
36- **ZSmime**: An S/MIME messenger for **Zope**.
37
38- And much more.
39
40M2Crypto is released under a very liberal BSD-style licence. See
41LICENCE for details.
42
43To install, see the file INSTALL.
44
45Look at the tests and demos for example use. Recommended reading before
46deploying in production is "Network Security with OpenSSL" by John Viega,
47Matt Messier and Pravir Chandra, ISBN 059600270X.
48
49Note these caveats:
50
51- Possible memory leaks, because some objects need to be freed on the
52  Python side and other objects on the C side, and these may change
53  between OpenSSL versions. (Multiple free's lead to crashes very
54  quickly, so these should be relatively rare.)
55   
56- No memory locking/clearing for keys, passphrases, etc. because AFAIK
57  Python does not provide the features needed. On the C (OpenSSL) side
58  things are cleared when the Python objects are deleted.
59   
60
61Have fun! Your feedback is welcome.
Note: See TracBrowser for help on using the repository browser.