Sample code for 30+ languages & platforms
Visual FoxPro

Load PKCS12 / PFX and Access Contents

See more PFX/P12 Examples

Loads a PKCS12 / PFX file and iterates over the contents which include private keys and certificates.

Chilkat Visual FoxPro Downloads

Visual FoxPro
LOCAL lnSuccess
LOCAL loPfx
LOCAL lnNumPrivateKeys
LOCAL loPrivKey
LOCAL i
LOCAL loCert
LOCAL lnNumCerts

lnSuccess = 0

loPfx = CreateObject('Chilkat.Pfx')

* Load the PKCS12 from a file
lnSuccess = loPfx.LoadPfxFile("/someDir/my.p12","pfxFilePassword")
IF (lnSuccess = 0) THEN
    ? loPfx.LastErrorText
    RELEASE loPfx
    CANCEL
ENDIF

lnNumPrivateKeys = loPfx.NumPrivateKeys

loPrivKey = CreateObject('Chilkat.PrivateKey')

? "Private Keys:"

i = 0
DO WHILE i < lnNumPrivateKeys
    loPfx.PrivateKeyAt(i,loPrivKey)

    * Do something with the private key ...

    i = i + 1
ENDDO

loCert = CreateObject('Chilkat.Cert')

lnNumCerts = loPfx.NumCerts

? "Certs:"
i = 0
DO WHILE i < lnNumCerts
    loPfx.CertAt(i,loCert)
    ? loCert.SubjectDN

    * If the certificate has a private key (one of the private keys within the PFX)
    * then it can also be obtained via the certificate object:
    IF (loCert.HasPrivateKey() = 1) THEN

        ? "Has private key!"

        lnSuccess = loCert.GetPrivateKey(loPrivKey)
        * ...

    ENDIF

    i = i + 1
ENDDO

RELEASE loPfx
RELEASE loPrivKey
RELEASE loCert