PowerShell
PowerShell
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 PowerShell Downloads
Add-Type -Path "C:\chilkat\ChilkatDotNet47-x64\ChilkatDotNet47.dll"
$success = $false
# This example assumes the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.
$pem = New-Object Chilkat.Pem
# Load the PEM from a file.
# If the PEM is encrypted, provide a password. Otherwise pass an empty string for the password.
$password = "myPassword"
$success = $pem.LoadPemFile("../myPemFiles/myPem.pem",$password)
if ($success -eq $false) {
$($pem.LastErrorText)
exit
}
# Note: If the app already has the PEM pre-loaded in a string variable, then load it
# by calling LoadPem instead.
$pemContent = "... the PEM contents ..."
$success = $pem.LoadPem($pemContent,$password)
# Check for success as before..
# Iterate over the private keys.
$numPrivateKeys = $pem.NumPrivateKeys
$i = 0
$privKey = New-Object Chilkat.PrivateKey
while ($i -lt $numPrivateKeys) {
$pem.PrivateKeyAt($i,$privKey)
$("Private Key " + $i + " is " + $privKey.BitLength + " in length")
$i = $i + 1
}
# Iterate over the certificates.
$cert = New-Object Chilkat.Cert
$numCerts = $pem.NumCerts
$i = 0
while ($i -lt $numCerts) {
$pem.CertAt($i,$cert)
$("Certificate " + $i + " : " + $cert.SubjectDN)
$i = $i + 1
}