PureBasic
PureBasic
Verify Factura Electronica Chile SII (iso-8859-1)
See more XAdES Examples
Demonstrates how to verify SII XML stored as iso-8859-1 having just a single signature.Chilkat PureBasic Downloads
IncludeFile "CkStringBuilder.pb"
IncludeFile "CkXmlDSig.pb"
Procedure ChilkatExample()
success.i = 0
; This example requires the Chilkat API to have been previously unlocked.
; See Global Unlock Sample for sample code.
; The signed XML to be verified in this example contains the following:
; <?xml version="1.0" encoding="ISO-8859-1"?>
; <DTE version="1.0" xmlns="http://www.sii.cl/SiiDte">
; <Documento ID="F13T34">
; ...
; </Documento>
; <Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
; ....
; </Signature>
; </DTE>
; Load the signed XML into sbXml -- telling Chilkat to interpret the bytes as iso-8859-1
sbXml.i = CkStringBuilder::ckCreate()
If sbXml.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
success = CkStringBuilder::ckLoadFile(sbXml,"qa_data/xml_dsig/sii_cl/signed1.xml","iso-8859-1")
If success = 0
Debug "Failed to load input file."
CkStringBuilder::ckDispose(sbXml)
ProcedureReturn
EndIf
dsig.i = CkXmlDSig::ckCreate()
If dsig.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
success = CkXmlDSig::ckLoadSignatureSb(dsig,sbXml)
If success <> 1
Debug CkXmlDSig::ckLastErrorText(dsig)
CkStringBuilder::ckDispose(sbXml)
CkXmlDSig::ckDispose(dsig)
ProcedureReturn
EndIf
bVerifyReferenceDigests.i = 1
bVerified.i = CkXmlDSig::ckVerifySignature(dsig,bVerifyReferenceDigests)
If bVerified = 0
Debug CkXmlDSig::ckLastErrorText(dsig)
CkStringBuilder::ckDispose(sbXml)
CkXmlDSig::ckDispose(dsig)
ProcedureReturn
EndIf
Debug "Signature verified = " + Str(bVerified)
CkStringBuilder::ckDispose(sbXml)
CkXmlDSig::ckDispose(dsig)
ProcedureReturn
EndProcedure