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
| (C# UWP/WinRT) Examine KeyInfo Certificate in XML SignatureThis example loads signed XML and gets the signing certificate, assuming the certificate is contained in X509Certificate within the KeyInfo. 
 // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. Chilkat.XmlDSig dsig = new Chilkat.XmlDSig(); Chilkat.StringBuilder sbXml = new Chilkat.StringBuilder(); bool success = sbXml.LoadFile("c:/aaworkarea/elias/3/face_f09006808443a699d1b.xml","utf-8"); if (success != true) { Debug.WriteLine("Failed to load XML file."); return; } success = dsig.LoadSignatureSb(sbXml); if (success != true) { Debug.WriteLine(dsig.LastErrorText); return; } // Get the KeyInfo XML. Chilkat.Xml xmlKeyInfo = dsig.GetKeyInfo(); if (dsig.LastMethodSuccess != true) { Debug.WriteLine(dsig.LastErrorText); return; } Debug.WriteLine(xmlKeyInfo.GetXml()); Debug.WriteLine("----"); // Assuming the X509Certificate is in the KeyInfo, it will look like this: // <ds:KeyInfo Id="..."> // <ds:KeyValue> // ... // <ds:X509Data> // <ds:X509Certificate>MIIHAz...</ds:X509Certificate> // </ds:X509Data> // </ds:KeyInfo> string certBase64 = xmlKeyInfo.GetChildContent("*:X509Data|*:X509Certificate"); if (xmlKeyInfo.LastMethodSuccess != true) { Debug.WriteLine("No X509Certificate found in the KeyInfo."); return; } // Load a certificate object w/ the base64. Chilkat.Cert cert = new Chilkat.Cert(); success = cert.LoadFromBase64(certBase64); if (success != true) { Debug.WriteLine(cert.LastErrorText); return; } // Examine the cert.. Debug.WriteLine("SubjectDN: " + cert.SubjectDN); Debug.WriteLine("IssuerDN: " + cert.IssuerDN); Debug.WriteLine("SerialNumber as Decimal: " + cert.SerialDecimal); | ||||
© 2000-2022 Chilkat Software, Inc. All Rights Reserved.