Visual FoxPro
Visual FoxPro
Import a PFX/P12 into the Windows Certificate Stores
See more Certificates Examples
Demonstrates how to import the certificates contained in a .pfx/.p12 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/example.p12","p12Password")
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 of the last JSON data:
* {
* "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