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
(DataFlex) Get Public Key from CSRDemonstrates how to get the public key from a CSR.
Use ChilkatAx-win32.pkg Procedure Test Handle hoPem String sNoPassword Boolean iSuccess String sStrBase64 Handle hoAsn Handle hoXml String sStrModulusHex Handle hoBd String sModulus64 PubKey Handle hoXmlPubKey Handle hoPubkey Boolean iPreferPkcs1 String sTemp1 // This requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. Get Create (RefClass(cComChilkatPem)) To hoPem If (Not(IsComObjectCreated(hoPem))) Begin Send CreateComObject of hoPem End // No password is required. Pass an empty password string.. Move "" To sNoPassword Get ComLoadPemFile Of hoPem "qa_data/csr/csr2.pem" sNoPassword To iSuccess If (iSuccess <> True) Begin Get ComLastErrorText Of hoPem To sTemp1 Showln sTemp1 Procedure_Return End Get ComGetEncodedItem Of hoPem "csr" "" "base64" 0 To sStrBase64 Get Create (RefClass(cComChilkatAsn)) To hoAsn If (Not(IsComObjectCreated(hoAsn))) Begin Send CreateComObject of hoAsn End Get ComLoadEncoded Of hoAsn sStrBase64 "base64" To iSuccess If (iSuccess <> True) Begin Get ComLastErrorText Of hoAsn To sTemp1 Showln sTemp1 Procedure_Return End // Convert the ASN.1 to XML. Get Create (RefClass(cComChilkatXml)) To hoXml If (Not(IsComObjectCreated(hoXml))) Begin Send CreateComObject of hoXml End Get ComAsnToXml Of hoAsn To sTemp1 Get ComLoadXml Of hoXml sTemp1 To iSuccess Get ComGetXml Of hoXml To sTemp1 Showln sTemp1 Showln "----" Get ComGetChildContent Of hoXml "bits" To sStrModulusHex Showln "strModulusHex = " sStrModulusHex Showln "----" // We need the modulus as base64. Get Create (RefClass(cComChilkatBinData)) To hoBd If (Not(IsComObjectCreated(hoBd))) Begin Send CreateComObject of hoBd End Get ComAppendEncoded Of hoBd sStrModulusHex "hex" To iSuccess Get ComGetEncoded Of hoBd "base64" To sModulus64 Showln "modulus64 = " sModulus64 Showln "----" // Build the XML for the public key. Get Create (RefClass(cComChilkatXml)) To hoXmlPubKey If (Not(IsComObjectCreated(hoXmlPubKey))) Begin Send CreateComObject of hoXmlPubKey End Set ComTag Of hoXmlPubKey To "RSAPublicKey" Send ComUpdateChildContent To hoXmlPubKey "Modulus" sModulus64 // The RSA exponent will always be decimal 65537 (base64 = AQAB) Send ComUpdateChildContent To hoXmlPubKey "Exponent" "AQAB" Showln "RSA public key as XML:" Get ComGetXml Of hoXmlPubKey To sTemp1 Showln sTemp1 Showln "----" // Load the XML into a Chilkat public key object. Get Create (RefClass(cComChilkatPublicKey)) To hoPubkey If (Not(IsComObjectCreated(hoPubkey))) Begin Send CreateComObject of hoPubkey End Get ComGetXml Of hoXmlPubKey To sTemp1 Get ComLoadFromString Of hoPubkey sTemp1 To iSuccess If (iSuccess <> True) Begin Get ComLastErrorText Of hoPubkey To sTemp1 Showln sTemp1 Procedure_Return End // Show the public key as PEM. Move True To iPreferPkcs1 Get ComGetPem Of hoPubkey iPreferPkcs1 To sTemp1 Showln sTemp1 End_Procedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.