![]() |
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) About RSA Public/Private KeysThis example provides some additional information for understanding public/private key pairs. In demonstrates how a private key is a superset of the public key. A public key contains the modulus and exponent. The matching private key also contains the modulus and exponent, but also contains the additional private key parts. Note: This example requires Chilkat v11.0.0 or greater.
Use ChilkatAx-win32.pkg Procedure Test Boolean iSuccess Handle hoCert Variant vPubKey Handle hoPubKey Handle hoPrivKey String sTemp1 Move False To iSuccess Get Create (RefClass(cComChilkatCert)) To hoCert If (Not(IsComObjectCreated(hoCert))) Begin Send CreateComObject of hoCert End // Load a digital certificate. Get ComLoadFromFile Of hoCert "digitalCert.cer" To iSuccess If (iSuccess = False) Begin Get ComLastErrorText Of hoCert To sTemp1 Showln sTemp1 Procedure_Return End // A .cer file does not contain the private key. It should contain // the public key... 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 // Let's have a look at it (in XML format). Showln "Public Key from Certificate:" Get ComGetXml Of hoPubKey To sTemp1 Showln sTemp1 // An RSA public key consists of a modulus and exponent. // An RSA private key includes both the modulus and exponent, // as well as other "big" numbers: P, Q, D, etc. // Let's load an RSA private key from a DER-encoded file: Get Create (RefClass(cComChilkatPrivateKey)) To hoPrivKey If (Not(IsComObjectCreated(hoPrivKey))) Begin Send CreateComObject of hoPrivKey End Get ComLoadAnyFormatFile Of hoPrivKey "PrivateKey.key" "" To iSuccess If (iSuccess <> True) Begin Get ComLastErrorText Of hoPrivKey To sTemp1 Showln sTemp1 Procedure_Return End // If this private key is the matching half to the public key from // the certificate, then the modulus and exponent should // be identical. (Thus, a "private key" really contains both the public part as well as the private parts...). Showln "Private Key from DER:" Get ComGetXml Of hoPrivKey To sTemp1 Showln sTemp1 End_Procedure |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.