Chilkat HOME Android™ Classic ASP C C++ C# Mono C# .NET Core C# C# UWP/WinRT DataFlex Delphi ActiveX Delphi DLL Visual FoxPro Java Lianja MFC Objective-C Perl PHP ActiveX PHP Extension PowerBuilder PowerShell PureBasic CkPython Chilkat2-Python Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ Visual Basic 6.0 VB.NET VB.NET UWP/WinRT VBScript Xojo Plugin Node.js Excel Go
(MFC) Verify XML Digital SignatureVerifies XML signatures in an XML file.
#include <CkStringBuilder.h> #include <CkXmlDSig.h> void ChilkatSample(void) { CkString strOut; // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. CkStringBuilder sbXml; bool success = sbXml.LoadFile("qa_data/xml_dsig_verify/csioz_sample.xml","utf-8"); if (success != true) { strOut.append("Failed to load XML file."); strOut.append("\r\n"); SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); return; } CkXmlDSig dsig; // First load the XML containing the signatures to be verified. success = dsig.LoadSignatureSb(sbXml); if (success != true) { strOut.append(dsig.lastErrorText()); strOut.append("\r\n"); SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); return; } // It's possible that an XML document can contain multiple signatures. // Each can be verified as follows: int i = 0; while (i < dsig.get_NumSignatures()) { // Select the Nth signature by setting the Selector property. dsig.put_Selector(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. bool bVerifyReferenceDigests = true; bool bVerified = dsig.VerifySignature(bVerifyReferenceDigests); strOut.append("Signature "); strOut.appendInt(i + 1); strOut.append(" verified = "); strOut.appendInt(bVerified); strOut.append("\r\n"); i = i + 1; } SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); } |
© 2000-2022 Chilkat Software, Inc. All Rights Reserved.