Components All New MacOS Windows Linux iOS
Examples Mac & Win Server Client Guides Statistic FMM Blog Deprecated Old


Creates a new private key.

Component Version macOS Windows Linux Server iOS SDK
Sign Encryption 6.2 ✅ Yes ✅ Yes ✅ Yes ✅ Yes ✅ Yes
MBS( "RSA.GeneratePrivateKey" { ; Bits; Exp; Algorithm; PasswordType; PasswordData; PasswordEncoding } )   More


Parameter Description Example Flags
Bits The bit size.
e.g. 1024, 2048, 4096, etc.
Default is 4096.
4096 Optional
Exp The exponent to use.
Default is 65537.
65537 Optional
Algorithm Which algorithm to use. Can be for example RC2, blowfish, AES128, AES192, AES256. See Encryption.Cipher. "AES-128-CFB" Optional
PasswordType The type of input for optional password.
Can be Text, Container, Image, Path, PDF, Data, base64 or Hex.
"Text" Optional
PasswordData The actual input data for the password.
Text, container or file path.
"Hello World" Optional
PasswordEncoding The text encoding for text input.
Parameter is ignored for other cases.
"UTF-8" Optional


Returns key as text or error.


Creates a new private key.
Returns the PEM formatted key as text.

As the PEM format contains base64 encoded DER data, you can remove header and footer line and use the result as base64 encoded DER key.

If you specify an algorithm and a key, we encrypt the PEM file. (New in 7.5)


Generate keys:

Set Variable [$privateKey; Value:MBS( "RSA.GeneratePrivateKey")]
Set Variable [$publickey; Value:MBS( "RSA.GetPublicKey"; "text"; $privateKey; "UTF-8")]
Set Field [Table::PrivateKey; $privateKey]
Set Field [Table::PublicKey; $publicKey]

Generate key with text password:

MBS( "RSA.GeneratePrivateKey"; 4096; 65537; "AES-128-CBC"; "text"; "Hello" )

See also

Release notes

Example Databases

Blog Entries

This function checks for a license.

Created 12nd March 2016, last changed 15th April 2024

RSA.EncryptPrivateKey - RSA.GetPublicKey