Sample code for 30+ languages & platforms
Visual FoxPro

Load Certificate from PFX (PKCS#12)

See more Certificates Examples

Loads a digital certificate (and private key, if available) from a PFX file.(also known as PKCS#12)

Chilkat Visual FoxPro Downloads

Visual FoxPro
LOCAL lnSuccess
LOCAL loCert
LOCAL lcPfxFilename
LOCAL lcPfxPassword
LOCAL loPrivKey
LOCAL lcPemPassword
LOCAL lcPemPath

lnSuccess = 0

loCert = CreateObject('Chilkat.Cert')

* Load from the PFX file
lcPfxFilename = "/Users/chilkat/testData/pfx/chilkat_ssl_pwd_is_test.pfx"
lcPfxPassword = "test"

* A PFX typically contains certificates in the chain of authentication.
* The Chilkat cert object will choose the certificate w/
* private key farthest from the root authority cert.
* To access all the certificates in a PFX, use the 
* Chilkat certificate store object instead.
lnSuccess = loCert.LoadPfxFile(lcPfxFilename,lcPfxPassword)
IF (lnSuccess = 0) THEN
    ? loCert.LastErrorText
    RELEASE loCert
    CANCEL
ENDIF

* Get some information about the digital certificate, 
* then get the private key...

* DN = "Distinguished Name"
? "SubjectDN:" + loCert.SubjectDN

? "Common Name:" + loCert.SubjectCN
? "Issuer Common Name:" + loCert.IssuerCN

? "Serial Number:" + loCert.SerialNumber

loPrivKey = CreateObject('Chilkat.PrivateKey')
lnSuccess = loCert.GetPrivateKey(loPrivKey)
IF (lnSuccess = 0) THEN
    ? loCert.LastErrorText
    RELEASE loCert
    RELEASE loPrivKey
    CANCEL
ENDIF

* The private key object may be used in any Chilkat methods
* (in other objects/classes) that expect a private key argument.

* In this case, save the private key to a PKCS8 Encrypted PEM format file:
lcPemPassword = "secret"
lcPemPath = "/Users/chilkat/testData/pem/chilkat_privKey.pem"
lnSuccess = loPrivKey.SavePkcs8EncryptedPemFile(lcPemPassword,lcPemPath)
IF (lnSuccess = 0) THEN
    ? loPrivKey.LastErrorText
    RELEASE loCert
    RELEASE loPrivKey
    CANCEL
ENDIF

? "Private key saved to PKCS8 Encrypted PEM..."

RELEASE loCert
RELEASE loPrivKey