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
(CkPython) Get Public Key from CSRDemonstrates how to get the public key from a CSR.
import sys import chilkat # This requires the Chilkat API to have been previously unlocked. # See Global Unlock Sample for sample code. pem = chilkat.CkPem() # 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()) sys.exit() strBase64 = pem.getEncodedItem("csr","","base64",0) asn = chilkat.CkAsn() success = asn.LoadEncoded(strBase64,"base64") if (success != True): print(asn.lastErrorText()) sys.exit() # Convert the ASN.1 to XML. xml = chilkat.CkXml() success = xml.LoadXml(asn.asnToXml()) print(xml.getXml()) print("----") strModulusHex = xml.getChildContent("bits") print("strModulusHex = " + strModulusHex) print("----") # We need the modulus as base64. bd = chilkat.CkBinData() bd.AppendEncoded(strModulusHex,"hex") modulus64 = bd.getEncoded("base64") print("modulus64 = " + modulus64) print("----") # Build the XML for the public key. xmlPubKey = chilkat.CkXml() 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:") print(xmlPubKey.getXml()) print("----") # Load the XML into a Chilkat public key object. pubkey = chilkat.CkPublicKey() success = pubkey.LoadFromString(xmlPubKey.getXml()) if (success != True): print(pubkey.lastErrorText()) sys.exit() # Show the public key as PEM. preferPkcs1 = True print(pubkey.getPem(preferPkcs1)) |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.