![]() |
Chilkat • HOME • Android™ • AutoIt • C • C# • C++ • Chilkat2-Python • CkPython • Classic ASP • DataFlex • Delphi DLL • Go • Java • Node.js • Objective-C • PHP Extension • Perl • PowerBuilder • PowerShell • PureBasic • Ruby • SQL Server • Swift • 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-2025 Chilkat Software, Inc. All Rights Reserved.