Using XML-DSig (XML Digital Signature) and OpenSSL from Python scripts is not straightforward, but there are solutions. Here are a few links to useful libraries and articles.

XML Signature (XML-DSig):

  • I have not found an easy to use Python module to create and verify XML signatures, so I decided to create my own on top of PyXMLSec: pyxmldsig.
  • PyXMLSec (Python bindings for XMLSec): http://pyxmlsec.labs.libre-entreprise.org/
    • Binary installer for Windows: http://returnbooleantrue.blogspot.com/2009/04/pyxmlsec-windows-binary.html
    • XMLSec library: http://www.aleksey.com/xmlsec/
  • IdentityMeme.org, "XMLdsig implementations for scripting languages": http://identitymeme.org/archives/2006/12/20/xmldsig-implementations-for-scripting-languages/
  • Verisign Labs, "XMLSIG for dynamic languages": http://xmlsig.sourceforge.net/ - get code using SVN repository from http://sourceforge.net/projects/xmlsig/

OpenSSL:

  • pyopenssl: http://pyopenssl.sourceforge.net/
  • eGenix.com pyOpenSSL Distribution: http://www.egenix.com/products/python/pyOpenSSL/
  • pyOpenSSL: https://launchpad.net/pyopenssl/
  • M2Crypto: http://chandlerproject.org/bin/view/Projects/MeTooCrypto
    • useful tutorials: http://chandlerproject.org/Projects/MeTooCrypto#Documentation

Other crypto libraries:

  • PyCrypto: http://www.amk.ca/python/code/crypto.html
  • ezPyCrypto: http://www.freenet.org.nz/ezPyCrypto/
  • yawPyCrypto: http://sourceforge.net/projects/yawpycrypto
  • pycryptopp: http://pypi.python.org/pypi/pycryptopp
  • asym: http://pypi.python.org/pypi/asym

 

Of course if you know other useful libraries and documentation, please leave a comment below or e-mail me at decalage(à)laposte.net.