Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(DataFlex) Calculate HRMC IRMarkDemonstrates how to calculate an IRmark for an HMRC GovTalkMessage XML document.
Use ChilkatAx-win32.pkg Procedure Test Handle hoXml Boolean iSuccess Handle hoXdsig Boolean iWithComments String sCanonXml Handle hoCrypt String sIrmark String sTemp1 // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. // First build a sample (but incomplete) GovTalkMessage. // You can replace this code with a call to LoadXml or LoadXmlFile.. // // Note: The online tool at https://tools.chilkat.io/xmlCreate.cshtml // can be used to generate XML code that creates a given XML document. Get Create (RefClass(cComChilkatXml)) To hoXml If (Not(IsComObjectCreated(hoXml))) Begin Send CreateComObject of hoXml End Set ComTag Of hoXml To "GovTalkMessage" Get ComAddAttribute Of hoXml "xmlns" "http://www.govtalk.gov.uk/CM/envelope" To iSuccess Get ComUpdateAttrAt Of hoXml "Body|Message" True "xmlns" "urn:g3.ge:dea:call:SendDocument:v1" To iSuccess Send ComUpdateChildContent To hoXml "Body|Message" "................" // This is the XML created: // <?xml version="1.0" encoding="utf-8" ?> // <GovTalkMessage xmlns="http://www.govtalk.gov.uk/CM/envelope"> // <Body> // <Message xmlns="urn:g3.ge:dea:call:SendDocument:v1">................</Message> // </Body> // </GovTalkMessage> Get ComGetXml Of hoXml To sTemp1 Showln sTemp1 // Canonicalize the XML (using C14N) Get Create (RefClass(cComChilkatXmlDSig)) To hoXdsig If (Not(IsComObjectCreated(hoXdsig))) Begin Send CreateComObject of hoXdsig End Move False To iWithComments Get ComGetXml Of hoXml To sTemp1 Get ComCanonicalizeXml Of hoXdsig sTemp1 "C14N" iWithComments To sCanonXml // Return the base64 SHA-1 HASH of the canonical XML. Get Create (RefClass(cComChilkatCrypt2)) To hoCrypt If (Not(IsComObjectCreated(hoCrypt))) Begin Send CreateComObject of hoCrypt End Set ComHashAlgorithm Of hoCrypt To "sha1" Set ComEncodingMode Of hoCrypt To "base64" Get ComHashStringENC Of hoCrypt sCanonXml To sIrmark Showln "IRMark = " sIrmark End_Procedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.