Sample code for 30+ languages & platforms
PowerBuilder

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 PowerBuilder Downloads

PowerBuilder
integer li_rc
integer li_Success
oleobject loo_SbXml
oleobject loo_Dsig
integer li_BVerifyReferenceDigests
integer li_BVerified

li_Success = 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 
loo_SbXml = create oleobject
li_rc = loo_SbXml.ConnectToNewObject("Chilkat.StringBuilder")
if li_rc < 0 then
    destroy loo_SbXml
    MessageBox("Error","Connecting to COM object failed")
    return
end if
li_Success = loo_SbXml.LoadFile("qa_data/xml_dsig/sii_cl/signed1.xml","iso-8859-1")
if li_Success = 0 then
    Write-Debug "Failed to load input file."
    destroy loo_SbXml
    return
end if

loo_Dsig = create oleobject
li_rc = loo_Dsig.ConnectToNewObject("Chilkat.XmlDSig")

li_Success = loo_Dsig.LoadSignatureSb(loo_SbXml)
if li_Success <> 1 then
    Write-Debug loo_Dsig.LastErrorText
    destroy loo_SbXml
    destroy loo_Dsig
    return
end if

li_BVerifyReferenceDigests = 1
li_BVerified = loo_Dsig.VerifySignature(li_BVerifyReferenceDigests)
if li_BVerified = 0 then
    Write-Debug loo_Dsig.LastErrorText
    destroy loo_SbXml
    destroy loo_Dsig
    return
end if

Write-Debug "Signature verified = " + string(li_BVerified)


destroy loo_SbXml
destroy loo_Dsig