Visual FoxPro
Visual FoxPro
Install PFX Certificates and Private Keys to Windows
See more PFX/P12 Examples
Demonstrates how to install the certificates and private keys contained in a PFX to the Windows certificate stores.Chilkat Visual FoxPro Downloads
LOCAL lnSuccess
LOCAL loPfx
LOCAL lnExportable
LOCAL lnUserProtected
LOCAL lnMachineKeyset
LOCAL lnAllowOverwriteKey
LOCAL lnAllowExport
LOCAL lcLeafStore
LOCAL lcIntermediateStore
LOCAL lcRootStore
LOCAL loJson
lnSuccess = 0
loPfx = CreateObject('Chilkat.Pfx')
lnSuccess = loPfx.LoadPfxFile("qa_data/pfx/test_secret.pfx","secret")
IF (lnSuccess = 0) THEN
? loPfx.LastErrorText
RELEASE loPfx
CANCEL
ENDIF
* See the online reference documentation for more information about the ImportToWindows method.
* Mark imported privae keys as exportable.
lnExportable = 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.
lnUserProtected = 0
* If machineKeyset is 1, the private keys are stored under the local computer and not under the current user.
lnMachineKeyset = 0
* If allowOverwriteKey is 1, allow overwrite of the existing key.
lnAllowOverwriteKey = 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.)
lnAllowExport = 1
* Indicate where to import types of certs.
lcLeafStore = "My"
lcIntermediateStore = "CertificationAuthority"
lcRootStore = "AuthRoot"
lnSuccess = loPfx.ImportToWindows(lnExportable,lnUserProtected,lnMachineKeyset,lnAllowOverwriteKey,lnAllowExport,lcLeafStore,lcIntermediateStore,lcRootStore,"")
IF (lnSuccess = 0) THEN
? loPfx.LastErrorText
RELEASE loPfx
CANCEL
ENDIF
* Show information about the certificates imported
loJson = CreateObject('Chilkat.JsonObject')
loPfx.GetLastJsonData(loJson)
loJson.EmitCompact = 0
? loJson.Emit()
* Sample output:
* {
* "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
* }
* ]
* }
? "Success."
RELEASE loPfx
RELEASE loJson