M2Crypto is built from Python, OpenSSL, and SWIG. It makes accessible to the Python programmer DH, DSA, RSA, symmetric ciphers, message digests, HMACs, and SSL and S/MIME functionality.
| Tags | Software Development Libraries Python Modules Internet FTP Web Security Cryptography |
|---|---|
| Licenses | BSD Original |
| Operating Systems | OS Independent |
| Implementation | C Python |
Recent releases


Changes: A bug that prevented building M2Crypto when OpenSSL was built without EC support was fixed. This was the case on Fedora Core at least. Upgrading from 0.19 is not needed if you were able to build previously.


Changes: Python 2.6 is supported. OpenSSL OBJ_* funcs and ENGINE interface were wrapped, enabling smart cards. Deadlocks caused by GIL changes done in 0.18 were fixed. A segfault which occurred when trying to encrypt using a public key from X.509 certificate was fixed. m2urllib.build_opener was fixed for Python 2.5. httpslib.ProxyHTTPSConnection now sends the required Host header. The proxied User-Agent value is used in CONNECT requests. SSL.Connection.accept() was fixed to pass a correct certificate to postConnectionCheck. PEM keys are written using a more secure method. Many functions and methods were fixed to return correct error codes and raise correct exceptions.


Changes: typedef Py_ssize_t was insufficiently guarded, and now follows PEP 353. This prevented building on at least Red Hat Linux and Debian Linux (unstable).


Changes: This release fixes threading regressions introduced in 0.16, adds back PKCS7.get0_signers (which was removed in 0.16), improves peer certificate checking during SSL connection, fixes build issues, fixes memory leaks, and fixes 64-bit support. It also wraps more OpenSSL functionality: EVP.pbkdf2; X509_Name.__iter__, __getitem__, get_entries_by_nid; X509_Name_Entry.get_object, get_data, set_data; and more.


Changes: This release adds m2urllib2, and a CONNECT proxy for httpslib and m2urllib2. It adds PKey.get_modulus, X509.get_fingerprint, X509_Name.as_der, and m2.bn_to_hex. It adds Err.peek_error_code. It fixes m2urllib.open_https to return the response headers; otherwise, code that relied on that would break (such as msnlib 3.5). The Twisted wrapper has been fixed to work with BIO buffers larger than 16 kb. DSA.save_key, DSA_.save_pub_key, and X509.check_purpose() have been fixed.
A tool for business process modeling, data modeling, and UML modeling.