(Ruby) Load PKCS12 / PFX and Access Contents
Loads a PKCS12 / PFX file and iterates over the contents which include private keys and certificates.
require 'chilkat'
pfx = Chilkat::CkPfx.new()
# Load the PKCS12 from a file
success = pfx.LoadPfxFile("/someDir/my.p12","pfxFilePassword")
if (success != true)
print pfx.lastErrorText() + "\n";
exit
end
numPrivateKeys = pfx.get_NumPrivateKeys()
print "Private Keys:" + "\n";
i = 0
while i < numPrivateKeys
# privKey is a CkPrivateKey
privKey = pfx.GetPrivateKey(i)
# Do something with the private key ...
i = i + 1
end
numCerts = pfx.get_NumCerts()
print "Certs:" + "\n";
i = 0
while i < numCerts
# cert is a CkCert
cert = pfx.GetCert(i)
print cert.subjectDN() + "\n";
# 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 (cert.HasPrivateKey() == true)
print "Has private key!" + "\n";
# privKey is a CkPrivateKey
privKey = cert.ExportPrivateKey()
# ...
end
i = i + 1
end
|