Sample code for 30+ languages & platforms
Chilkat2-Python

Verify XML Digital Signature

See more XML Digital Signatures Examples

Verifies XML signatures in an XML file.

Chilkat Chilkat2-Python Downloads

Chilkat2-Python
import sys
import chilkat2

success = False

# This example requires the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.

sbXml = chilkat2.StringBuilder()
success = sbXml.LoadFile("qa_data/xml_dsig_verify/csioz_sample.xml","utf-8")
if (success != True):
    print("Failed to load XML file.")
    sys.exit()

dsig = chilkat2.XmlDSig()

# First load the XML containing the signatures to be verified.
success = dsig.LoadSignatureSb(sbXml)
if (success != True):
    print(dsig.LastErrorText)
    sys.exit()

# It's possible that an XML document can contain multiple signatures.
# Each can be verified as follows:
i = 0
while i < dsig.NumSignatures :
    # Select the Nth signature by setting the Selector property.
    dsig.Selector = i

    # The bVerifyReferenceDigests argument determines if we want
    # to also verify each reference digest.  If set to False,
    # then only the SignedInfo part of the Signature is verified.
    bVerifyReferenceDigests = True
    bVerified = dsig.VerifySignature(bVerifyReferenceDigests)
    print("Signature " + str(i + 1) + " verified = " + str(bVerified))

    i = i + 1