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 RSA Key Modulus from .cer or .keyDemonstrates how to get the RSA key modulus from either the certificate (.cer) or RSA key (.key). OpenSSL commands to do the same would be: openssl x509 -inform DER -in "test.cer" -modulus -nooutor openssl pkcs8 -inform DER -inβ "test.key"β -outform PEM -passin pass:"12345β678aβ" | openssl rsa -inform PEM -modulus -noout
Use ChilkatAx-win32.pkg Procedure Test Handle hoPrivKey String sPassword Boolean iSuccess Handle hoXml String sModulus Handle hoBinDat String sHexModulus Handle hoCert Variant vPubKey Handle hoPubKey String sTemp1 Get Create (RefClass(cComChilkatPrivateKey)) To hoPrivKey If (Not(IsComObjectCreated(hoPrivKey))) Begin Send CreateComObject of hoPrivKey End Move "12345678a" To sPassword Get ComLoadPkcs8EncryptedFile Of hoPrivKey "qa_data/certs/test_12345678a.key" sPassword To iSuccess If (iSuccess <> True) Begin Get ComLastErrorText Of hoPrivKey To sTemp1 Showln sTemp1 Procedure_Return End Get Create (RefClass(cComChilkatXml)) To hoXml If (Not(IsComObjectCreated(hoXml))) Begin Send CreateComObject of hoXml End Get ComGetXml Of hoPrivKey To sTemp1 Get ComLoadXml Of hoXml sTemp1 To iSuccess // The XML contains the parts of the key in base64. Showln "Private Key XML:" Get ComGetXml Of hoXml To sTemp1 Showln sTemp1 // We can get the base64 modulus like this: Get ComGetChildContent Of hoXml "Modulus" To sModulus Showln "base64 modulus = " sModulus // To convert to hex: Get Create (RefClass(cComChilkatBinData)) To hoBinDat If (Not(IsComObjectCreated(hoBinDat))) Begin Send CreateComObject of hoBinDat End Get ComAppendEncoded Of hoBinDat sModulus "base64" To iSuccess Get ComGetEncoded Of hoBinDat "hex" To sHexModulus Showln "hex modulus = " sHexModulus // Now get the modulus from the cert: Get Create (RefClass(cComChilkatCert)) To hoCert If (Not(IsComObjectCreated(hoCert))) Begin Send CreateComObject of hoCert End Get ComLoadFromFile Of hoCert "qa_data/certs/test_12345678a.cer" To iSuccess If (iSuccess <> True) Begin Get ComLastErrorText Of hoCert To sTemp1 Showln sTemp1 Procedure_Return End // The cert contains the public key, which is composed of the // modulus + exponent (for RSA keys). Get ComExportPublicKey Of hoCert To vPubKey If (IsComObject(vPubKey)) Begin Get Create (RefClass(cComChilkatPublicKey)) To hoPubKey Set pvComObject Of hoPubKey To vPubKey End Get ComGetXml Of hoPubKey To sTemp1 Get ComLoadXml Of hoXml sTemp1 To iSuccess Showln "Public Key XML:" Get ComGetXml Of hoXml To sTemp1 Showln sTemp1 // Proceed in the same way as before.... Get ComGetChildContent Of hoXml "Modulus" To sModulus Showln "base64 modulus = " sModulus // To convert to hex: Get ComClear Of hoBinDat To iSuccess Get ComAppendEncoded Of hoBinDat sModulus "base64" To iSuccess Get ComGetEncoded Of hoBinDat "hex" To sHexModulus Showln "hex modulus = " sHexModulus Send Destroy of hoPubKey End_Procedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.