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
(PureBasic) 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.
IncludeFile "CkPfx.pb" IncludeFile "CkJsonObject.pb" Procedure ChilkatExample() ; Note: This example requires Chilkat v9.5.0.83 or greater. pfx.i = CkPfx::ckCreate() If pfx.i = 0 Debug "Failed to create object." ProcedureReturn EndIf success.i = CkPfx::ckLoadPfxFile(pfx,"qa_data/pfx/test_secret.pfx","secret") If success = 0 Debug CkPfx::ckLastErrorText(pfx) CkPfx::ckDispose(pfx) ProcedureReturn EndIf ; See the online reference documentation for more information about the ImportToWindows method. ; Mark imported privae keys as exportable. exportable.i = 1 ; If userProtected is 1, the user is to be notified through a dialog box or other method when certain attempts to use this key are made. userProtected.i = 0 ; If machineKeyset is 1, the private keys are stored under the local computer and not under the current user. machineKeyset.i = 0 ; If allowOverwriteKey is 1, allow overwrite of the existing key. allowOverwriteKey.i = 0 ; If allowExport is 1, 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.i = 1 ; Indicate where to import types of certs. leafStore.s = "My" intermediateStore.s = "CertificationAuthority" rootStore.s = "AuthRoot" success = CkPfx::ckImportToWindows(pfx,exportable,userProtected,machineKeyset,allowOverwriteKey,allowExport,leafStore,intermediateStore,rootStore,"") If success = 0 Debug CkPfx::ckLastErrorText(pfx) CkPfx::ckDispose(pfx) ProcedureReturn EndIf ; Show information about the certificates imported json.i = CkPfx::ckLastJsonData(pfx) CkJsonObject::setCkEmitCompact(json, 0) Debug CkJsonObject::ckEmit(json) CkJsonObject::ckDispose(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 ; } ; ] ; } Debug "Success." CkPfx::ckDispose(pfx) ProcedureReturn EndProcedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.