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
(Excel) Get Certificates within XML SignatureDemonstrates how to get the certificates contained within an XML signature.
' This example requires the Chilkat API to have been previously unlocked. ' See Global Unlock Sample for sample code. Dim sbXml As Chilkat.StringBuilder Set sbXml = Chilkat.NewStringBuilder ' Load XML containing one or more signatures. success = sbXml.LoadFile("qa_data/xml_dsig_valid_samples/multipleSigners/sp.pdf.XAdES.xml","utf-8") If (success = False) Then Debug.Print "Failed to load the XML file.." Exit Sub End If Dim dsig As Chilkat.XmlDSig Set dsig = Chilkat.NewXmlDSig ' First load the XML containing the signatures to be verified. ' Note that this particular Signature already contains the RSA public key that will be used ' for verification. success = dsig.LoadSignatureSb(sbXml) If (success <> True) Then Debug.Print dsig.LastErrorText Exit Sub End If ' For each signature, verify and also get the certificate(s) contained within each Signature. i = 0 Dim saCerts As Chilkat.StringArray Set saCerts = Chilkat.NewStringArray Dim cert As Chilkat.Cert Set cert = Chilkat.NewCert Debug.Print "numSignatures = "; dsig.NumSignatures Do While i < dsig.NumSignatures ' Select the Nth signature by setting the Selector property. dsig.Selector = i bVerifyReferenceDigests = True bVerified = dsig.VerifySignature(bVerifyReferenceDigests) Debug.Print "Signature "; (i + 1); " verified = "; bVerified ' Get the certificates embedded in this signature. saCerts.Clear success = dsig.GetCerts(saCerts) If (success = True) Then j = 0 Do While j < saCerts.Count success = cert.LoadFromBase64(saCerts.GetString(j)) If (success = True) Then Debug.Print " "; cert.SubjectDN End If j = j + 1 Loop End If i = i + 1 Loop |
© 2000-2022 Chilkat Software, Inc. All Rights Reserved.