ONLINE HELP
 WINDEVWEBDEV AND WINDEV MOBILE

Help / WLanguage / WLanguage functions / Standard functions / Encryption/compression functions
  • Asymmetric encryption of an envelope
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReports and QueriesUser code (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Browser code
WINDEV Mobile
AndroidAndroid Widget iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Others
Stored procedures
Performs an asymmetric encryption of an envelope.
Example
// Encrypting a character string
//---------------------------------------
bufToEncrypt is Buffer = "Message to encrypt"
bufEncryptedMessage is Buffer
sPublicKeyFile is string = fExeDir() + "\PublicKey.pem"
sPublicKeyPassword is string = "xxx"
 
bufEncryptedMessage = bufToEncrypt.EncryptAsymmetricEnveloped(sPublicKeyFile, ...
sPublicKeyPassword)
 
// Decryption  
// -------------
bufEncryptedMessage is Buffer
bufDecryptedMessage is Buffer
sPrivateKeyFile is string = fExeDir() + "\PrivateKey.pem"
sPrivateKeyPassword is string = "xxx"
 
bufDecryptedMessage = bufEncryptedMessage.DecryptAsymmetricEnveloped(sPrivateKeyFile, ...
sPrivateKeyPassword)
New in version 28
bufToEncrypt is Buffer = "Message to encrypt"
bufEncryptedMessage is Buffer
bufPublicKey is Buffer
bufPrivateKey is Buffer
(bufPrivateKey, bufPublicKey) = EncryptGenerateRSAKey(1024)
// Encrypting a character string
//---------------------------------------
bufEncryptedMessage = bufToEncrypt.EncryptAsymmetricEnveloped(bufPublicKey)
 
// Decryption  
// -------------
bufEncryptedMessage is Buffer
bufDecryptedMessage is Buffer
 
bufDecryptedMessage = bufEncryptedMessage.DecryptAsymmetricEnveloped(bufPrivateKey)
Syntax
<Result> = <Content to encrypt>.EncryptAsymmetricEnveloped(<Public key file> [, <Password>])
<Result>: Buffer
All the information necessary for decryption (algorithms used, encrypted key, initialization vector and encrypted buffer).
<Content to encrypt>: Buffer
Buffer to encrypt.
<Public key file>: Character string or Buffer
  • Name and path of the file corresponding to the public key that will be used to encrypt. pem, der and p12 key formats are supported.
  • New in version 28
    Buffer containing the public key that will be used for the encryption.
<Password>: Optional character string
Key file password (if required).
Remarks

Asymmetric encryption of an envelope

<Buffer type>.EncryptAsymmetricEnvelopped generates a random encryption key that will be used to encrypt <Content to encrypt> with a symmetric algorithm.
The key is encrypted with the public key of <Public key file>.
<Result> contains a buffer that concatenates all the necessary information for the decryption (algorithms used, encrypted key, initialization buffer and encrypted buffer).
Remarks:
  • The private key is encrypted using OAEP padding.
  • The message is encrypted using AES 256 in CBC with PKCS padding.
Component: wd280com.dll
Minimum version required
  • Version 26
This page is also available for…
Comments
Click [Add] to post a comment

Last update: 06/21/2023

Send a report | Local help