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) Subject Alternative Name for ICP Brasil CertsDemonstrates how to access the multiple names contained in the Subject Alternative Name of a certificate. This example is for an ICP Brasil certificate. For more information, see http://oidref.com/2.16.76.1.3
#include <CkCert.h> #include <CkXml.h> void ChilkatSample(void) { CkString strOut; CkCert cert; bool success = cert.LoadFromFile("qa_data/certs/testIcpBrasil.cer"); if (success == false) { strOut.append(cert.lastErrorText()); strOut.append("\r\n"); SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); return; } // If the cert's Subject Alternative Name contains multiple values, each specified by an OID, // then the Rfc822Name property returns XML. const char *subjectAltNameXml = cert.rfc822Name(); strOut.append(subjectAltNameXml); strOut.append("\r\n"); // Here's a sample of the subjectAltNameXml: // <SubjectAltName> // <name type="oid" oid="2.16.76.1.3.4">290999653223955019700000000000000000000150424SRJUXPTS</name> // <name type="oid" oid="2.16.76.1.3.2">JOAO SILVA</name> // <name type="oid" oid="2.16.76.1.3.3">02408939000115</name> // <name type="oid" oid="2.16.76.1.3.7">000000000000</name> // </SubjectAltName> // The XML can be parsed like this: CkXml xml; xml.LoadXml(subjectAltNameXml); const char *oid = 0; const char *name = 0; int i = 0; int count_i = xml.NumChildrenHavingTag("name"); while (i < count_i) { xml.put_I(i); oid = xml.chilkatPath("name[i]|(oid)"); name = xml.getChildContent("name[i]"); strOut.append(oid); strOut.append(": "); strOut.append(name); strOut.append("\r\n"); i = i + 1; } SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); } |
© 2000-2022 Chilkat Software, Inc. All Rights Reserved.