DataFlex
DataFlex
Generate an RSA Key and Save to Encrypted PEM
See more RSA Examples
Demonstrates how to generate an RSA key and save to an encrypted PEM file.Chilkat DataFlex Downloads
Use ChilkatAx-win32.pkg
Procedure Test
Boolean iSuccess
Handle hoRsa
Variant vPrivKey
Handle hoPrivKey
String sPassword
String sPath
Variant vPubKey
Handle hoPubKey
Boolean iPreferPkcs1
String sTemp1
Move False To iSuccess
Get Create (RefClass(cComChilkatRsa)) To hoRsa
If (Not(IsComObjectCreated(hoRsa))) Begin
Send CreateComObject of hoRsa
End
// Generate a 2048-bit key.
Get Create (RefClass(cComChilkatPrivateKey)) To hoPrivKey
If (Not(IsComObjectCreated(hoPrivKey))) Begin
Send CreateComObject of hoPrivKey
End
Get pvComObject of hoPrivKey to vPrivKey
Get ComGenKey Of hoRsa 2048 vPrivKey To iSuccess
If (iSuccess = False) Begin
Get ComLastErrorText Of hoRsa To sTemp1
Showln sTemp1
Procedure_Return
End
Move "secret" To sPassword
// Saving to a relative path (from the current working directory of the process).
Move "rsaKeys/myTestRsaPrivate.pem" To sPath
// Encrypt the PEM using 256-bit AES encryption.
Set ComPkcs8EncryptAlg Of hoPrivKey To "aes256"
Get ComSavePkcs8EncryptedPemFile Of hoPrivKey sPassword sPath To iSuccess
If (iSuccess = False) Begin
Get ComLastErrorText Of hoPrivKey To sTemp1
Showln sTemp1
Procedure_Return
End
//
// We can also save the public key.
// There is no need to encrypt public keys.
Get Create (RefClass(cComChilkatPublicKey)) To hoPubKey
If (Not(IsComObjectCreated(hoPubKey))) Begin
Send CreateComObject of hoPubKey
End
Get pvComObject of hoPubKey to vPubKey
Get ComToPublicKey Of hoPrivKey vPubKey To iSuccess
Move "rsaKeys/myTestRsaPublic.pem" To sPath
// Choose PKCS1 or PKCS8
// We'll choose PKCS8.
Move False To iPreferPkcs1
Get ComSavePemFile Of hoPubKey iPreferPkcs1 sPath To iSuccess
If (iSuccess = False) Begin
Get ComLastErrorText Of hoPubKey To sTemp1
Showln sTemp1
Procedure_Return
End
//
Showln "Success."
End_Procedure