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
(Tcl) Iterate Keys and Certs in PEMDemonstrates how to access each of the private keys and certs contained within a PEM.
load ./chilkat.dll # 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. set chilkatGlob [new_CkGlobal] set success [CkGlobal_UnlockBundle $chilkatGlob "Anything for 30-day trial."] if {$success != 1} then { puts [CkGlobal_lastErrorText $chilkatGlob] delete_CkGlobal $chilkatGlob exit } # The Chilkat PEM class was introduced in v9.5.0.49. # It requires the bundle to be unlocked, as shown above. set pem [new_CkPem] # Load the PEM from a file. # If the PEM is encrypted, provide a password. Otherwise pass an empty string for the password. set password "myPassword" set success [CkPem_LoadPemFile $pem "../myPemFiles/myPem.pem" $password] if {$success != 1} then { puts [CkPem_lastErrorText $pem] delete_CkGlobal $chilkatGlob delete_CkPem $pem exit } # Note: If the app already has the PEM pre-loaded in a string variable, then load it # by calling LoadPem instead. set pemContent "... the PEM contents ..." set success [CkPem_LoadPem $pem $pemContent $password] # Check for success as before.. # Iterate over the private keys. set numPrivateKeys [CkPem_get_NumPrivateKeys $pem] set i 0 while {$i < $numPrivateKeys} { # privKey is a CkPrivateKey set privKey [CkPem_GetPrivateKey $pem $i] puts "Private Key $i is [CkPrivateKey_get_BitLength $privKey] in length" delete_CkPrivateKey $privKey set i [expr $i + 1] } # Iterate over the certificates. set numCerts [CkPem_get_NumCerts $pem] set i 0 while {$i < $numCerts} { # cert is a CkCert set cert [CkPem_GetCert $pem $i] puts "Certificate $i : [CkCert_subjectDN $cert]" delete_CkCert $cert set i [expr $i + 1] } delete_CkGlobal $chilkatGlob delete_CkPem $pem |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.