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) Install PFX Certificates and Private Keys to WindowsDemonstrates how to install the certificates and private keys contained in a PFX to the Windows certificate stores. Note: This example requires Chilkat v9.5.0.83 or greater.
#include <CkPfx.h> #include <CkJsonObject.h> void ChilkatSample(void) { CkString strOut; // Note: This example requires Chilkat v9.5.0.83 or greater. CkPfx pfx; bool success = pfx.LoadPfxFile("qa_data/pfx/test_secret.pfx","secret"); if (success == false) { strOut.append(pfx.lastErrorText()); strOut.append("\r\n"); SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); return; } // See the online reference documentation for more information about the ImportToWindows method. // Mark imported privae keys as exportable. bool exportable = true; // If userProtected is true, the user is to be notified through a dialog box or other method when certain attempts to use this key are made. bool userProtected = false; // If machineKeyset is true, the private keys are stored under the local computer and not under the current user. bool machineKeyset = false; // If allowOverwriteKey is true, allow overwrite of the existing key. bool allowOverwriteKey = false; // If allowExport is true, then the imported key can later be exported back to a PFX. // (It also allows for applications to directly access the private key material.) bool allowExport = true; // Indicate where to import types of certs. const char *leafStore = "My"; const char *intermediateStore = "CertificationAuthority"; const char *rootStore = "AuthRoot"; success = pfx.ImportToWindows(exportable,userProtected,machineKeyset,allowOverwriteKey,allowExport,leafStore,intermediateStore,rootStore,""); if (success == false) { strOut.append(pfx.lastErrorText()); strOut.append("\r\n"); SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); return; } // Show information about the certificates imported CkJsonObject *json = pfx.LastJsonData(); json->put_EmitCompact(false); strOut.append(json->emit()); strOut.append("\r\n"); delete json; // Sample LastJsonData: // { // "exportable": true, // "userProtected": false, // "machineKeyset": false, // "allowOverwriteKey": false, // "allowExport": true, // "key": [ // { // "name": "{F09B755A-1E90-444D-9851-02B86CA14961}", // "storageProvider": "Microsoft Software Key Storage Provider" // } // ], // "cert": [ // { // "DN": "...", // "type": "intermediate", // "storeName": "CertificationAuthority", // "imported": true // }, // { // "DN": "...", // "type": "root", // "storeName": "AuthRoot", // "imported": true // }, // { // "DN": "....", // "type": "leaf", // "storeName": "My", // "keyContainer": "{345D4EAD-B8DD-4150-9A1F-4BC6437E77A2}", // "machineKeyset": true, // "imported": true // } // ] // } strOut.append("Success."); strOut.append("\r\n"); SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); } |
© 2000-2022 Chilkat Software, Inc. All Rights Reserved.