![]() |
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
(PureBasic) Generate RSA Public/Private Key Pair and Export to PEMPureBasic example code showing how to generate an RSA public/private key pair and export to PEM files. Note: This example requires Chilkat v11.0.0 or greater.
IncludeFile "CkPublicKey.pb" IncludeFile "CkPrivateKey.pb" IncludeFile "CkRsa.pb" Procedure ChilkatExample() success.i = 0 ; This example assumes the Chilkat API to have been previously unlocked. ; See Global Unlock Sample for sample code. rsa.i = CkRsa::ckCreate() If rsa.i = 0 Debug "Failed to create object." ProcedureReturn EndIf ; Generate a 2048-bit key. Chilkat RSA supports ; key sizes ranging from 512 bits to 8192 bits. privKey.i = CkPrivateKey::ckCreate() If privKey.i = 0 Debug "Failed to create object." ProcedureReturn EndIf success = CkRsa::ckGenKey(rsa,2048,privKey) If success = 0 Debug CkRsa::ckLastErrorText(rsa) CkRsa::ckDispose(rsa) CkPrivateKey::ckDispose(privKey) ProcedureReturn EndIf pubKey.i = CkPublicKey::ckCreate() If pubKey.i = 0 Debug "Failed to create object." ProcedureReturn EndIf CkPrivateKey::ckToPublicKey(privKey,pubKey) ; Save the private key in PEM format: success = CkPrivateKey::ckSavePemFile(privKey,"privateKey.pem") If success = 0 Debug CkPrivateKey::ckLastErrorText(privKey) CkRsa::ckDispose(rsa) CkPrivateKey::ckDispose(privKey) CkPublicKey::ckDispose(pubKey) ProcedureReturn EndIf ; Save the public key in PEM format: success = CkPublicKey::ckSavePemFile(pubKey,0,"publicKey.pem") If success = 0 Debug CkPublicKey::ckLastErrorText(pubKey) CkRsa::ckDispose(rsa) CkPrivateKey::ckDispose(privKey) CkPublicKey::ckDispose(pubKey) ProcedureReturn EndIf Debug "Success." CkRsa::ckDispose(rsa) CkPrivateKey::ckDispose(privKey) CkPublicKey::ckDispose(pubKey) ProcedureReturn EndProcedure |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.