Sample code for 30+ languages & platforms
B4X Requires Chilkat v11.0.0+

Iterate Keys and Certs in PEM

See more PEM Examples

Demonstrates how to access each of the private keys and certs contained within a PEM.

Chilkat B4X Downloads

B4X
Dim success As Boolean = False

'  This example assumes the Chilkat API to have been previously unlocked.
'  See Global Unlock Sample for sample code.

Dim pem As ChilkatPem
pem.Initialize

'  Load the PEM from a file.
'  If the PEM is encrypted, provide a password.  Otherwise pass an empty string for the password.
Dim password As String = "myPassword"
success = pem.LoadPemFile("../myPemFiles/myPem.pem", password)
If success = False Then
    Log(pem.LastErrorText)
    Return
End If


'  Note: If the app already has the PEM pre-loaded in a string variable, then load it 
'  by calling LoadPem instead.  
Dim pemContent As String = "... the PEM contents ..."
success = pem.LoadPem(pemContent, password)
'  Check for success as before..

'  Iterate over the private keys.
Dim numPrivateKeys As Int = pem.NumPrivateKeys
Dim i As Int = 0

Dim privKey As ChilkatPrivateKey
privKey.Initialize("privKey")
Do While i < numPrivateKeys
    pem.PrivateKeyAt(i, privKey)
    Log("Private Key " & i & " is " & privKey.BitLength & " in length")
    i = i + 1
Loop

'  Iterate over the certificates.
Dim cert As ChilkatCert
cert.Initialize("cert")
Dim numCerts As Int = pem.NumCerts
i = 0
Do While i < numCerts
    pem.CertAt(i, cert)
    Log("Certificate " & i & " : " & cert.SubjectDN)
    i = i + 1
Loop