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
(PureBasic) Load PEM Public/Private Key into RSA ObjectDemonstrates how to load a PEM key into the Chilkat RSA object.
IncludeFile "CkPublicKey.pb" IncludeFile "CkPrivateKey.pb" IncludeFile "CkRsa.pb" Procedure ChilkatExample() ; 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 ; First demonstrate importing a PEM public key: publicKeyPem.s = "PEM public-key data goes here" pubkey.i = CkPublicKey::ckCreate() If pubkey.i = 0 Debug "Failed to create object." ProcedureReturn EndIf success.i = CkPublicKey::ckLoadFromString(pubkey,publicKeyPem) If success <> 1 Debug CkPublicKey::ckLastErrorText(pubkey) CkRsa::ckDispose(rsa) CkPublicKey::ckDispose(pubkey) ProcedureReturn EndIf publicKeyXml.s = CkPublicKey::ckGetXml(pubkey) success = CkRsa::ckImportPublicKey(rsa,publicKeyXml) If success <> 1 Debug CkRsa::ckLastErrorText(rsa) CkRsa::ckDispose(rsa) CkPublicKey::ckDispose(pubkey) ProcedureReturn EndIf ; Demonstrate importing a PEM private key: privateKeyPem.s = "PEM private-key data goes here" privkey.i = CkPrivateKey::ckCreate() If privkey.i = 0 Debug "Failed to create object." ProcedureReturn EndIf ; If the private key PEM is protected with a password, then ; call LoadEncryptedPem. Otherwise call LoadPem. success = CkPrivateKey::ckLoadPem(privkey,privateKeyPem) If success <> 1 Debug CkPrivateKey::ckLastErrorText(privkey) CkRsa::ckDispose(rsa) CkPublicKey::ckDispose(pubkey) CkPrivateKey::ckDispose(privkey) ProcedureReturn EndIf privateKeyXml.s = CkPrivateKey::ckGetXml(privkey) success = CkRsa::ckImportPrivateKey(rsa,privateKeyXml) If success <> 1 Debug CkRsa::ckLastErrorText(rsa) CkRsa::ckDispose(rsa) CkPublicKey::ckDispose(pubkey) CkPrivateKey::ckDispose(privkey) ProcedureReturn EndIf Debug "OK!" CkRsa::ckDispose(rsa) CkPublicKey::ckDispose(pubkey) CkPrivateKey::ckDispose(privkey) ProcedureReturn EndProcedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.