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) Get Public Key from CSRDemonstrates how to get the public key from a CSR.
require 'chilkat' # This requires the Chilkat API to have been previously unlocked. # See Global Unlock Sample for sample code. pem = Chilkat::CkPem.new() # No password is required. Pass an empty password string.. noPassword = "" success = pem.LoadPemFile("qa_data/csr/csr2.pem",noPassword) if (success != true) print pem.lastErrorText() + "\n"; exit end strBase64 = pem.getEncodedItem("csr","","base64",0) asn = Chilkat::CkAsn.new() success = asn.LoadEncoded(strBase64,"base64") if (success != true) print asn.lastErrorText() + "\n"; exit end # Convert the ASN.1 to XML. xml = Chilkat::CkXml.new() success = xml.LoadXml(asn.asnToXml()) print xml.getXml() + "\n"; print "----" + "\n"; strModulusHex = xml.getChildContent("bits") print "strModulusHex = " + strModulusHex + "\n"; print "----" + "\n"; # We need the modulus as base64. bd = Chilkat::CkBinData.new() bd.AppendEncoded(strModulusHex,"hex") modulus64 = bd.getEncoded("base64") print "modulus64 = " + modulus64 + "\n"; print "----" + "\n"; # Build the XML for the public key. xmlPubKey = Chilkat::CkXml.new() xmlPubKey.put_Tag("RSAPublicKey") xmlPubKey.UpdateChildContent("Modulus",modulus64) # The RSA exponent will always be decimal 65537 (base64 = AQAB) xmlPubKey.UpdateChildContent("Exponent","AQAB") print "RSA public key as XML:" + "\n"; print xmlPubKey.getXml() + "\n"; print "----" + "\n"; # Load the XML into a Chilkat public key object. pubkey = Chilkat::CkPublicKey.new() success = pubkey.LoadFromString(xmlPubKey.getXml()) if (success != true) print pubkey.lastErrorText() + "\n"; exit end # Show the public key as PEM. preferPkcs1 = true print pubkey.getPem(preferPkcs1) + "\n"; |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.