Tcl
Tcl
Verify XML Digital Signature
See more XML Digital Signatures Examples
Verifies XML signatures in an XML file.Chilkat Tcl Downloads
load ./chilkat.dll
set success 0
# This example requires the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.
set sbXml [new_CkStringBuilder]
set success [CkStringBuilder_LoadFile $sbXml "qa_data/xml_dsig_verify/csioz_sample.xml" "utf-8"]
if {$success != 1} then {
puts "Failed to load XML file."
delete_CkStringBuilder $sbXml
exit
}
set dsig [new_CkXmlDSig]
# First load the XML containing the signatures to be verified.
set success [CkXmlDSig_LoadSignatureSb $dsig $sbXml]
if {$success != 1} then {
puts [CkXmlDSig_lastErrorText $dsig]
delete_CkStringBuilder $sbXml
delete_CkXmlDSig $dsig
exit
}
# It's possible that an XML document can contain multiple signatures.
# Each can be verified as follows:
set i 0
while {$i < [CkXmlDSig_get_NumSignatures $dsig]} {
# Select the Nth signature by setting the Selector property.
CkXmlDSig_put_Selector $dsig $i
# The bVerifyReferenceDigests argument determines if we want
# to also verify each reference digest. If set to 0,
# then only the SignedInfo part of the Signature is verified.
set bVerifyReferenceDigests 1
set bVerified [CkXmlDSig_VerifySignature $dsig $bVerifyReferenceDigests]
puts "Signature [expr $i + 1] verified = $bVerified"
set i [expr $i + 1]
}
delete_CkStringBuilder $sbXml
delete_CkXmlDSig $dsig