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) Export Digital Certificate's Public KeyThe ExportPublicKey method can be called to get a certificate's public key. It can then be saved to any of a number of formats: (1) OpenSSL DER, (2) OpenSSL PEM, (3) RSA DER, (4) XML.
#include <CkCert.h> #include <CkPublicKey.h> void ChilkatSample(void) { CkString strOut; CkCert cert; // LoadFromFile will load virtually any certificate format file. // It will auto-recognize the format and load appropiately. bool success = cert.LoadFromFile("/Users/chilkat/testData/cer/chilkat.cer"); if (success != true) { strOut.append(cert.lastErrorText()); strOut.append("\r\n"); SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); return; } // Get the public key: CkPublicKey *pubkey = 0; pubkey = cert.ExportPublicKey(); if (cert.get_LastMethodSuccess() == false) { strOut.append(cert.lastErrorText()); strOut.append("\r\n"); SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); return; } // Save to various formats: success = pubkey->SaveOpenSslDerFile("/Users/chilkat/testData/pubkeys/chilkat_openSsl.der"); if (success != true) { strOut.append(pubkey->lastErrorText()); strOut.append("\r\n"); delete pubkey; SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); return; } success = pubkey->SaveOpenSslPemFile("/Users/chilkat/testData/pubkeys/chilkat_openSsl.pem"); if (success != true) { strOut.append(pubkey->lastErrorText()); strOut.append("\r\n"); delete pubkey; SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); return; } success = pubkey->SaveRsaDerFile("/Users/chilkat/testData/pubkeys/chilkat_rsa.der"); if (success != true) { strOut.append(pubkey->lastErrorText()); strOut.append("\r\n"); delete pubkey; SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); return; } success = pubkey->SaveXmlFile("/Users/chilkat/testData/pubkeys/chilkat.xml"); if (success != true) { strOut.append(pubkey->lastErrorText()); strOut.append("\r\n"); delete pubkey; SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); return; } delete pubkey; strOut.append("Public key exported to all file formats."); strOut.append("\r\n"); SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); } |
© 2000-2022 Chilkat Software, Inc. All Rights Reserved.