Sample code for 30+ languages & platforms
Xojo Plugin

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 Xojo Plugin Downloads

Xojo Plugin
Dim success As Boolean
success = False

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

Dim pem As New Chilkat.Pem

// 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
password = "myPassword"
success = pem.LoadPemFile("../myPemFiles/myPem.pem",password)
If (success = False) Then
    System.DebugLog(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
pemContent = "... the PEM contents ..."
success = pem.LoadPem(pemContent,password)
// Check for success as before..

// Iterate over the private keys.
Dim numPrivateKeys As Int32
numPrivateKeys = pem.NumPrivateKeys
Dim i As Int32
i = 0

Dim privKey As New Chilkat.PrivateKey
While i < numPrivateKeys
    success = pem.PrivateKeyAt(i,privKey)
    System.DebugLog("Private Key " + Str(i) + " is " + Str(privKey.BitLength) + " in length")
    i = i + 1
Wend

// Iterate over the certificates.
Dim cert As New Chilkat.Cert
Dim numCerts As Int32
numCerts = pem.NumCerts
i = 0
While i < numCerts
    success = pem.CertAt(i,cert)
    System.DebugLog("Certificate " + Str(i) + " : " + cert.SubjectDN)
    i = i + 1
Wend