Skip to main content

SignXML: XML Signature in Python

SignXML is an implementation of the W3C XML Signature standard in Python (both “Second Edition” and Version 1.1). This standard (also known as XMLDSig and RFC 3275) is used to provide payload security in SAML 2.0, among other uses. SignXML implements all of the required components of the standard, and most recommended ones. Its features are:

  • Use of defusedxml.lxml to defend against common XML-based attacks when verifying signatures

  • Extensions to allow signing with and verifying X.509 certificate chains, including hostname/CN validation

  • Modern Python compatibility (2.7-3.4+ and PyPy)

  • Well-supported and reliable dependencies: lxml, defusedxml, cryptography, eight, pyOpenSSL

  • Comprehensive testing (including the XMLDSig interoperability suite) and continuous integration

  • Simple interface with useful defaults

  • Compactness, readability, and extensibility

Installation

pip install signxml

Synopsis

from signxml import xmldsig

cert = open("example.pem").read()
key = open("example.key").read()
root = ElementTree.fromstring(signature_data)
xmldsig(root).sign(key=key, cert=cert)
xmldsig(root).verify()

Using a SAML metadata file:

from signxml import xmldsig

with open("metadata.xml", "rb") as fh:
    cert = etree.parse(fh).find("//ds:X509Certificate").text

root = ElementTree.fromstring(signature_data)
xmldsig(root).verify(x509_cert=cert)

See the API documentation for more.

Authors

  • Andrey Kislyuk

License

Licensed under the terms of the Apache License, Version 2.0.

https://travis-ci.org/kislyuk/signxml.png https://coveralls.io/repos/kislyuk/signxml/badge.png?branch=master https://pypip.in/v/signxml/badge.png https://pypip.in/d/signxml/badge.png https://readthedocs.org/projects/signxml/badge/?version=latest

Metadata

Release files for signxml 0.3.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for signxml 0.3.3
File Size Uploaded
signxml-0.3.3.tar.gz 41.3 kB Details

Release files / signxml-0.3.3.tar.gz

Download URL signxml-0.3.3.tar.gz
Size 41.3 kB
Tags Source
SHA-256 checksum
How to use checksums
de15e5a45a0efbd5f6af24d6e45b5484f8c0d811f88c2c31497b1a0aa4ed1262
BLAKE2b-256 checksum
How to use checksums
01fd3cd9338863361ff6fbe0d5057225be8d108da8fc0d0c28e940b288e17416
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

5.1.0

2 release files

5.0.1

2 release files

5.0.0

2 release files

4.5.1

2 release files

4.4.0

2 release files

4.3.1

2 release files

4.3.0

2 release files

4.2.2

2 release files

4.2.1

2 release files

4.2.0

2 release files

4.1.0

2 release files

4.0.5

2 release files

4.0.4

2 release files

4.0.3

2 release files

4.0.2

2 release files

4.0.1

2 release files

4.0.0

2 release files

3.2.2

2 release files

3.2.1

2 release files

3.2.0

2 release files

3.1.1

2 release files

3.1.0

2 release files

3.0.2

2 release files

3.0.1

2 release files

3.0.0

2 release files

2.10.0

2 release files

2.9.0

2 release files

2.8.2

2 release files

2.8.1

2 release files

2.8.0

2 release files

2.7.3

2 release files

2.7.2

2 release files

2.7.1

2 release files

2.7.0

2 release files

2.6.0

2 release files

2.5.2

2 release files

2.4.0

2 release files

2.3.0

2 release files

2.2.6

2 release files

2.2.4

2 release files

2.2.3

2 release files

2.2.2

2 release files

2.2.1

2 release files

2.2.0

2 release files

2.1.4

2 release files

2.0.0

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

0.6.0

2 release files

0.5.0

2 release files

0.4.6

2 release files

0.4.5

2 release files

0.4.4

2 release files

0.4.3

2 release files

0.4.2

2 release files

0.4.1

1 release file

0.4.0

1 release file

0.3.9

1 release file

0.3.8

1 release file

0.3.7

1 release file

0.3.6

1 release file

0.3.5

1 release file

0.3.4

1 release file

This release

0.3.3 This release

1 release file

0.3.2

1 release file

0.3.1

1 release file

0.3.0

1 release file

0.2.9

1 release file

0.2.8

1 release file

0.2.7

1 release file

0.2.6

1 release file

0.2.5

1 release file

0.2.4

1 release file

0.2.3

1 release file

0.2.2

1 release file

0.2.1

1 release file

0.2.0

1 release file

0.1.9

1 release file

0.1.8

1 release file

0.1.7

1 release file

0.1.6

1 release file

0.1.5

1 release file

0.1.4

1 release file

0.1.3

1 release file

0.1.2

1 release file

0.1.1

1 release file

0.1.0

1 release file

0.0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page