![]() |
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
(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 Note: This example requires Chilkat v11.0.0 or greater.
Use ChilkatAx-win32.pkg Procedure Test Boolean iSuccess Handle hoPrivKey String sPassword Handle hoXml String sModulus Handle hoBinDat String sHexModulus Handle hoCert Variant vPubKey Handle hoPubKey String sTemp1 Move False To iSuccess 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 = False) 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 = False) 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 Create (RefClass(cComChilkatPublicKey)) To hoPubKey If (Not(IsComObjectCreated(hoPubKey))) Begin Send CreateComObject of hoPubKey End Get pvComObject of hoPubKey to vPubKey Get ComGetPublicKey Of hoCert vPubKey To iSuccess 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 End_Procedure |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.