A Python interface to SC14N
Project description
The utility Sc14n performs the C14N transformation of a straightforward XML document.
The transformation can be of the complete document, a subset of the document, or the document excluding a given subset. The subset can be specified either by its ID or tag name.
>>> # Example 1. Excludes the first element with the tag name <Signature> >>> r = C14n.file2file("c14nfile1.txt", "input.xml", "Signature", Tran.OMITBYTAG) True >>> # Example 2. Finds and transforms the first element with the tag name <SignedInfo> >>> r = C14n.file2file("c14nfile2.txt", "input.xml", "SignedInfo", Tran.SUBSETBYTAG) True >>> # Example 3. Finds and transforms the third element with the tag name <Data> >>> r = C14n.file2file("c14nfile3.txt", "input.xml", "Data[3]", Tran.SUBSETBYTAG) True >>> # Example 4. Finds and transforms the element with attribute Id="foo" >>> r = C14n.file2file("c14nfile4.txt", "input.xml", "foo", Tran.SUBSETBYID) True >>> # Example 5. Finds and transforms the element with attribute ID="bar" >>> r = C14n.file2file("c14nfile5.txt", "input.xml", "ID=bar", Tran.SUBSETBYID) True >>> # Example 6. Excludes element with attribute Id="thesig" >>> r = C14n.file2file("c14nfile6.txt", "input.xml", "thesig", Tran.OMITBYID) True
For full details of all available methods and options, please see the documentation.
Sc14n can be used with a cryptographic library to sign XML documents using XML-DSIG. We recommend our cryptographic library CryptoSys PKI available from https://cryptosys.net/pki/.
System requirements
Windows platforms with Python 3. Requires the Windows program Sc14n to be installed on your system, available from https://cryptosys.net/sc14n/.
To carry out the cryptographic signing examples in test_sc14n-pki.py you must also install CryptoSys PKI and cryptosyspki.py (see links below).
Downloads
Sc14n: https://cryptosys.net/sc14n/
CryptoSys PKI: https://cryptosys.net/pki/
cryptosyspki.py: https://pypi.python.org/pypi/cryptosyspki/
Contact
For more information or to make suggestions, please contact us at https://cryptosys.net/contact/
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.