Lianja
Lianja
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 Lianja Downloads
llSuccess = .F.
loPfx = createobject("CkPfx")
// Load the PKCS12 from a file
llSuccess = loPfx.LoadPfxFile("/someDir/my.p12","pfxFilePassword")
if (llSuccess = .F.) then
? loPfx.LastErrorText
release loPfx
return
endif
lnNumPrivateKeys = loPfx.NumPrivateKeys
loPrivKey = createobject("CkPrivateKey")
? "Private Keys:"
i = 0
do while i < lnNumPrivateKeys
loPfx.PrivateKeyAt(i,loPrivKey)
// Do something with the private key ...
i = i + 1
enddo
loCert = createobject("CkCert")
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() = .T.) then
? "Has private key!"
llSuccess = loCert.GetPrivateKey(loPrivKey)
// ...
endif
i = i + 1
enddo
release loPfx
release loPrivKey
release loCert