Go
Go
Verify XML Digital Signature
See more XML Digital Signatures Examples
Verifies XML signatures in an XML file.Chilkat Go Downloads
success := false
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
sbXml := chilkat.NewStringBuilder()
success = sbXml.LoadFile("qa_data/xml_dsig_verify/csioz_sample.xml","utf-8")
if success != true {
fmt.Println("Failed to load XML file.")
sbXml.DisposeStringBuilder()
return
}
dsig := chilkat.NewXmlDSig()
// First load the XML containing the signatures to be verified.
success = dsig.LoadSignatureSb(sbXml)
if success != true {
fmt.Println(dsig.LastErrorText())
sbXml.DisposeStringBuilder()
dsig.DisposeXmlDSig()
return
}
// It's possible that an XML document can contain multiple signatures.
// Each can be verified as follows:
i := 0
for i < dsig.NumSignatures() {
// Select the Nth signature by setting the Selector property.
dsig.SetSelector(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)
fmt.Println("Signature ", i + 1, " verified = ", bVerified)
i = i + 1
}
sbXml.DisposeStringBuilder()
dsig.DisposeXmlDSig()