Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Delphi DLL) 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.
uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Pfx, JsonObject; ... procedure TForm1.Button1Click(Sender: TObject); var pfx: HCkPfx; success: Boolean; exportable: Boolean; userProtected: Boolean; machineKeyset: Boolean; allowOverwriteKey: Boolean; allowExport: Boolean; leafStore: PWideChar; intermediateStore: PWideChar; rootStore: PWideChar; json: HCkJsonObject; begin // Note: This example requires Chilkat v9.5.0.83 or greater. pfx := CkPfx_Create(); success := CkPfx_LoadPfxFile(pfx,'qa_data/pfx/test_secret.pfx','secret'); if (success = False) then begin Memo1.Lines.Add(CkPfx__lastErrorText(pfx)); Exit; end; // See the online reference documentation for more information about the ImportToWindows method. // Mark imported privae keys as exportable. 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. userProtected := False; // If machineKeyset is True, the private keys are stored under the local computer and not under the current user. machineKeyset := False; // If allowOverwriteKey is True, allow overwrite of the existing key. 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.) allowExport := True; // Indicate where to import types of certs. leafStore := 'My'; intermediateStore := 'CertificationAuthority'; rootStore := 'AuthRoot'; success := CkPfx_ImportToWindows(pfx,exportable,userProtected,machineKeyset,allowOverwriteKey,allowExport,leafStore,intermediateStore,rootStore,''); if (success = False) then begin Memo1.Lines.Add(CkPfx__lastErrorText(pfx)); Exit; end; // Show information about the certificates imported json := CkPfx_LastJsonData(pfx); CkJsonObject_putEmitCompact(json,False); Memo1.Lines.Add(CkJsonObject__emit(json)); CkJsonObject_Dispose(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 // } // ] // } Memo1.Lines.Add('Success.'); CkPfx_Dispose(pfx); end; |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.