PureBasic
PureBasic
Generate RSA Public/Private Key Pair and Export to PEM
See more RSA Examples
_LANGUAGE_ example code showing how to generate an RSA public/private key pair and export to PEM files.Chilkat PureBasic Downloads
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