xml.Encryption.RSAEncrypt

Encrypts the specified string using the RSA key and returns it encoded in BASE64.

Syntax

xml.Encryption.RSAEncrypt(
   filename STRING,
   str STRING )
  RETURNS STRING
  1. filename defines the filename of an RSA public or private key in PEM format or an encryption key entry in the FGLPROFILE file.

    If your FGLPROFILE file contains an entry for an encryption key like xml.myRsa.key="/opt/fourjs/crt/myRsa.pem" (where "myRsa" is the key identifier), pass "myRsa" to the method to retrieve that value. For an example of loading an encryption key, refer to Loading an asymmetric RSA key. For more on security-related FGLPROFILE entries, go to XML configuration and FGLPROFILE: XML cryptography

  2. str defines the string to be encrypted.

Usage

RSA encryption is only intended for short strings that cannot exceed the size of the RSA key minus 12 bytes. For instance, if you have a RSA key of 512 bits, you password cannot exceed 512/8-12 = 52 bytes. If you need to handle big strings, you must use symmetric keys and the xml.Encryption.EncryptString method. However, you can use RSA keys to encrypt symmetric key values.

In case of error, the method throws an exception and sets the status variable. Depending on the error, a human-readable description of the problem is available in the sqlca.sqlerrm register. See Error handling in GWS calls (status).