Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Ruby) Iterate Keys and Certs in PEMDemonstrates how to access each of the private keys and certs contained within a PEM.
require 'chilkat' # Starting in v9.5.0.49, all Chilkat classes can be unlocked at once at the beginning of a program # by calling UnlockBundle. It requires a Bundle unlock code. chilkatGlob = Chilkat::CkGlobal.new() success = chilkatGlob.UnlockBundle("Anything for 30-day trial.") if (success != true) print chilkatGlob.lastErrorText() + "\n"; exit end # The Chilkat PEM class was introduced in v9.5.0.49. # It requires the bundle to be unlocked, as shown above. pem = Chilkat::CkPem.new() # 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 != true) print pem.lastErrorText() + "\n"; exit end # 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.get_NumPrivateKeys() i = 0 while i < numPrivateKeys # privKey is a CkPrivateKey privKey = pem.GetPrivateKey(i) print "Private Key " + i.to_s() + " is " + privKey.get_BitLength().to_s() + " in length" + "\n"; i = i + 1 end # Iterate over the certificates. numCerts = pem.get_NumCerts() i = 0 while i < numCerts # cert is a CkCert cert = pem.GetCert(i) print "Certificate " + i.to_s() + " : " + cert.subjectDN() + "\n"; i = i + 1 end |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.