Swift
Swift
Verify XAdES with External File Reference
See more XML Digital Signatures Examples
Demonstrates how to validate an XML digital signature that contains a reference to an external file. (This is one way of doing it..)Chilkat Swift Downloads
func chilkatTest() {
var success: Bool = false
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
// Load the XAdES file to be validated..
let sbXml = CkoStringBuilder()!
success = sbXml.loadFile(path: "qa_data/xml_dsig_valid_samples/externalFile/test.pdf.XAdES", charset: "utf-8")
if success == false {
print("Failed to load XAdES input file.")
return
}
let validator = CkoXmlDSig()!
// Specify a set of absolute or relative directory paths to be searched for any external file references.
// Directory paths are separated by semicolon chars.
validator.externalRefDirs = "qa_data/externalFiles;qa_data/xml_dsig_valid_samples/externalFile;c:/someOtherDir"
success = validator.loadSignatureSb(sbXmlSig: sbXml)
if success == false {
print("\(validator.lastErrorText!)")
return
}
// Validate signatures as usual..
var i: Int = 0
while i < validator.numSignatures.intValue {
validator.selector = i
var valid: Bool = validator.verifySignature(verifyReferenceDigests: true)
print("Signature \(i + 1) and all reference digests OK = \(valid)")
i = i + 1
}
}