Skip to main content

A Python crypto and SSL toolkit

Project description

Maintainer:

Matěj Cepl

Web-Site:

https://sr.ht/~mcepl/m2crypto/

Documentation:

https://m2crypto.readthedocs.io/

Issue tracker:

https://todo.sr.ht/~mcepl/m2crypto (R/O, please report issues via the email list).

M2Crypto = Python + OpenSSL + SWIG

builds.sr.ht status

NOTE: This library is currently in maintenance mode. We recommend using a more modern alternative such as PyCA/cryptography. Examples of how to migrate can be found in the documentation.

M2Crypto is a crypto and SSL toolkit for Python.

M2 stands for “me, too!”

M2Crypto comes with the following:

  • RSA, DSA, DH, HMACs, message digests, symmetric ciphers including AES,

  • TLS functionality to implement clients and servers.

  • Example SSL client and server programs, which are variously threading, forking or based on non-blocking socket IO.

  • HTTPS extensions to Python’s httplib, urllib and xmlrpclib.

  • Unforgeable HMAC’ing AuthCookies for web session management.

  • FTP/TLS client and server.

  • S/MIME v2.

  • ZSmime: An S/MIME messenger for Zope.

We care a lot about stable API and all Python methods should be preserved, note however that m2. namespace is considered internal to the library and it doesn’t have to be preserved. If however some change to it breaks your app, let us know and we will try to make things working for you.

  • And much more.

M2Crypto is released under a very liberal MIT licence. See LICENCE for details.

To install, see the file INSTALL.

Look at the tests and demos for example use. Recommended reading before deploying in production is “Network Security with OpenSSL” by John Viega, Matt Messier and Pravir Chandra, ISBN 059600270X.

Note these caveats:

  • Possible memory leaks, because some objects need to be freed on the Python side and other objects on the C side, and these may change between OpenSSL versions. (Multiple free’s lead to crashes very quickly, so these should be relatively rare.)

  • No memory locking/clearing for keys, passphrases, etc. because AFAIK Python does not provide the features needed. On the C (OpenSSL) side things are cleared when the Python objects are deleted.

Have fun! Your feedback is welcome.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

m2crypto-0.45.1.tar.gz (363.7 kB view details)

Uploaded Source

Built Distributions

m2crypto-0.45.1-cp313-cp313-win_amd64.whl (252.1 kB view details)

Uploaded CPython 3.13 Windows x86-64

m2crypto-0.45.1-cp312-cp312-win_amd64.whl (252.1 kB view details)

Uploaded CPython 3.12 Windows x86-64

m2crypto-0.45.1-cp312-cp312-win32.whl (194.8 kB view details)

Uploaded CPython 3.12 Windows x86

m2crypto-0.45.1-cp311-cp311-win_amd64.whl (253.1 kB view details)

Uploaded CPython 3.11 Windows x86-64

m2crypto-0.45.1-cp311-cp311-win32.whl (195.5 kB view details)

Uploaded CPython 3.11 Windows x86

m2crypto-0.45.1-cp310-cp310-win_amd64.whl (252.9 kB view details)

Uploaded CPython 3.10 Windows x86-64

m2crypto-0.45.1-cp310-cp310-win32.whl (195.4 kB view details)

Uploaded CPython 3.10 Windows x86

File details

Details for the file m2crypto-0.45.1.tar.gz.

File metadata

  • Download URL: m2crypto-0.45.1.tar.gz
  • Upload date:
  • Size: 363.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for m2crypto-0.45.1.tar.gz
Algorithm Hash digest
SHA256 d0fc81a8828edbf4308432b3040bf06bb26bad95abb9e7d4690b6118551e76ec
MD5 701cc75a4f530ccd8cfc45f57fb6bd3b
BLAKE2b-256 ad6933db804ea9c50175df3508d97bd3c33926913480bbd951008b92f678b138

See more details on using hashes here.

File details

Details for the file m2crypto-0.45.1-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for m2crypto-0.45.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 13c068f7087caeda69245ffdaf5965537b86b02586d00b215604fb5b773b1e4f
MD5 589450d868a4780522205d57fe5442de
BLAKE2b-256 acae71dffab80f3e80b4253bc8b032d8602c8563c0988d5b32c06d9a9b599b89

See more details on using hashes here.

File details

Details for the file m2crypto-0.45.1-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for m2crypto-0.45.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 18305c1c8bb8ffcc1a52af4b350facc1271f98f052b96f7a86b3f51aef7acfad
MD5 f1991f550a29844c72fd03092af7ac7e
BLAKE2b-256 6a7dbea05a18f270bd12fc4e003faa43e15c8600c05e35d18e086c3c5a8ad8a8

See more details on using hashes here.

File details

Details for the file m2crypto-0.45.1-cp312-cp312-win32.whl.

File metadata

  • Download URL: m2crypto-0.45.1-cp312-cp312-win32.whl
  • Upload date:
  • Size: 194.8 kB
  • Tags: CPython 3.12, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for m2crypto-0.45.1-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 ba7e49348dc267a1e57658601470f6f49cd6418ab6e665d3fffbb56fd8eec215
MD5 f63f3e1974534aa5d302f7609faffbe1
BLAKE2b-256 a67225e22e414c7b09d87b49489ebe8ba8ac8fbb8b425d4229c717b6dbe3bd7b

See more details on using hashes here.

File details

Details for the file m2crypto-0.45.1-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for m2crypto-0.45.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 9029c737bd5d8a7ab4e6eae14db1f6aed257e022160b1a8981d4224bb3b2ff3e
MD5 44423316aaf475453832d3cbfc20004b
BLAKE2b-256 33c1ec130c4b0a2df353759856c6dbe4a7b7af805713bde3b14f1d1e8729c854

See more details on using hashes here.

File details

Details for the file m2crypto-0.45.1-cp311-cp311-win32.whl.

File metadata

  • Download URL: m2crypto-0.45.1-cp311-cp311-win32.whl
  • Upload date:
  • Size: 195.5 kB
  • Tags: CPython 3.11, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for m2crypto-0.45.1-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 6ad3f13e548254d7be6f4d84733768a8f84c5b49f3acbfc96c29aa23463204fc
MD5 ec1a1eea35f0af0742c07b96265ddd67
BLAKE2b-256 6286ee8eb5cc8bf11a0dc33243a38916d3e6dbf9b8a9c6737e1014c6ae4f1cf8

See more details on using hashes here.

File details

Details for the file m2crypto-0.45.1-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for m2crypto-0.45.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 2eceae6a8df327d5014342c6c84fe3e42bebc4ab12bf1bf5a3684e8dcd169372
MD5 b4b0ce4334db9bca6d7a228dd0f5916f
BLAKE2b-256 5226b2c0be55a7fb460cad4ff194aef28cc904825dc948e0ad2ec80c12fc4f98

See more details on using hashes here.

File details

Details for the file m2crypto-0.45.1-cp310-cp310-win32.whl.

File metadata

  • Download URL: m2crypto-0.45.1-cp310-cp310-win32.whl
  • Upload date:
  • Size: 195.4 kB
  • Tags: CPython 3.10, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for m2crypto-0.45.1-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 09f4ad3875a813cb090254705d4f25bd4920730b01e4bd71c571ea42e5fdc6e8
MD5 f5855631ef07587530f6cce13b3707fa
BLAKE2b-256 21ee3ac5d5545383db81cdb5213fcd71ee6466360b87fad3d74796a2c62109ad

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page