473,889 Members | 1,528 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

ANN: M2Crypto 0.19

I am happy to announce the M2Crypto 0.19 release!

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.

Note: Python 2.6 shipped with optional timeout parameters to many
network modules; there is no support for these in M2Crypto 0.19.
Otherwise 2.6 is supported.


- OpenSSL OBJ_* functions wrapped by Pavel Shramov
- OpenSSL ENGINE interface wrapped, providing support for smart cards,
by Martin Paljak and Pavel Shramov
- EVP.PKey.get_rs a() now returns RSA_pub, which fixes segmentation fault
when trying to encrypt using public key from X509 certificate,
by Ben Timby
- httpslib.ProxyH TTPSConnection now sends the required Host header,
by Karl Grindley
- Use the proxied User-Agent value in CONNECT requests, by James Antill
and Miloslav Trmac
- Fixed m2urllib.build_ opener when optional handlers were in use,
affected Python 2.5 and later, by Miloslav Trmac
- Reverted the incorrect GIL change done in 0.18 to
m2.passphrase_c allback, which caused a deadlock when called from
mod_python for example. Thanks to Michal Kochel and Keith Jackson.
- SSL.Connection. accept() passed wrong certificate to
postConnectionC heck callback
- httpslib.HTTPSC onnection now raises ValueError for illegal keyword
- m2.pkey_write_p em[_no_cipher] changed to use the recommended (more
secure) PEM_write_bio_P KCS8PrivateKey (used by
PEM_write_bio_P rivateKey).
- X509.load_cert, load_cert_bio, load_cert_der_s tring,
new_stack_from_ der, load_request and load_crl now raise X509Error for
invalid data. Previously some of these raised a string as an error,
some did not raise but caused strange errors later, for example
x509.verify() would return -1.
- Fixed SSL.Connection. get_socket_read _timeout and
set_socket_read _timeout on 64bit platforms by adding
SSL.timeout.str uct_size() and using it instead of
hardcoded size for socket.getsocko pt
- X509_Store.load _info now returns the value from the underlying
m2.x509_store_l oad_locations call, and in case of error raises
- Fixed SMIME.verify to raise the correct PKCS7_Error (used to raise
SMIME_Error) when verification fails with Python 2.6


* Python 2.3 or newer
o m2urllib2 requires Python 2.4 or newer
* OpenSSL 0.9.7 or newer
o Some optional new features will require OpenSSL 0.9.8 or newer
* SWIG 1.3.24 or newer required for building
o SWIG 1.3.30 or newer may be required with Python 2.5 or newer and
Python 2.4 with Py_ssize_t patches

Download link available from the M2Crypto homepage:

Or use easy_install (may not work on all systems): easy_install M2Crypto

Heikki Toivonen - http://www.heikkitoivonen.net
Oct 6 '08 #1
0 1191

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

by: Carl Waldbieser | last post by:
I tried to adapt the instructions for building the M2Crypto module (http://sandbox.rulemaker.net/ngps/m2/INSTALL.html) to build a version compatible with Python2.3, but I've had some mixed results. I actually got everything to build and install, but when I try to import M2Crypto-- well, here is a sample session: >>> import M2Crypto Traceback (most recent call last): File "<interactive input>", line 1, in ? File...
by: jsmilan | last post by:
Hi, all; I'm strictly an amateur developer who has dabbled in a half dozen languages on eight or nine systems over 20 years or so. I have never devoted the time or energy to thoroughly learn any one of them, so I have become a true JOATAMON (Jack Of All Trades And Master Of None). I apologize in advance for any truly newb sounding questions. I did Google for this in several places first (Zope.org, Gentoo forums, and Google UseNet...
by: morphex | last post by:
Hi, I get the following messages running the testall.py script with m2crypto 0.13, can anyone tell me what's wrong? .................................................................EEEEEE ====================================================================== ERROR: test_cipher_mismatch (test_ssl.SSLClientTestCase) ---------------------------------------------------------------------- Traceback (most recent call last):
by: KW | last post by:
I'm trying to convert some PHP code using OpenSSL to Python and I'm stuck on openssl_sign() which uses an RSA private key to compute a signature. Example PHP code: $privkeyid = openssl_get_privatekey($priv_key, $key_pass); openssl_sign($data, $signature, $privkeyid); openssl_free_key($privkeyid); I've tried several permutations of the stuff in M2Crypto.EVP but I can't get it to work...
by: John Nagle | last post by:
Here's a wierd problem: I have a little test case for M2Crypto, which just opens up SSL connections to web servers and reads their certificates. This works fine. But if I execute socket.setdefaulttimeout(5.0) so that the sockets don't wait too long if there's no SSL server, I get
by: John Nagle | last post by:
I've been running M2Crypto successfully using Python 2.4 on Windows 2000, and now I'm trying to get it to work on Python 2.3.4 on Linux. Attempting to initialize a context results in Traceback (most recent call last): File "/www/htdocs/sitetruth.com/cgi/ratingdetails.cgi", line 46, in ? DetailsPageBuilder.detailspage(kdbfile,ktemplatefile,url) # check and display domain or URL as web page File "./sitetruth/DetailsPageBuilder.py", line...
by: John Nagle | last post by:
Back in March, I posted this: That was for M2Crypto 0.17. It's still broken in M2Crypto 0.18. And there's no RPM or Windows binary. Nobody actually uses this stuff, do they?
by: Bojan Mihelac | last post by:
Hi all! I am trying to install M2Crypto to work on OSX10.5 apache (mod_python). Error I receive: Error was: dlopen(/Library/WebServer/eggs/M2Crypto-0.18.2-py2.5- macosx-10.5-i386.egg-tmp/M2Crypto/__m2crypto.so, 2): no suitable image found. Did find: /Library/WebServer/eggs/M2Crypto-0.18.2-py2.5-macosx-10.5-i386.egg- tmp/M2Crypto/__m2crypto.so: no matching architecture in universal
by: Heikki Toivonen | last post by:
The 0.19.1 release fixes the build when OpenSSL has been configured without EC support, thanks to Miloslav Trmac. 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...
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.