Decrypts a single ciphertext block by applying the PKCS#1 v1.5 decryption scheme with an RSA private key.
#include "hursa.h"
int hu_RSAPKCS1v15Dec(sb_Params rsaParams, sb_PrivateKey privateKey, size_t ciphertextLen, const unsigned char *ciphertext, size_t *plaintextLen, unsigned char *plaintext, sb_GlobalCtx sbCtx)
BlackBerry 10.0.0
An RSA parameters object.
An RSA private key object.
The length (in bytes) of the ciphertext buffer. This must be equal to the modulus length.
The ciphertext buffer.
The length (in bytes) of the plaintext. This will be at most the modulus length minus 11.
The plaintext buffer.
A global context.
This function implements the operation known as RSAES-PKCS1-v1_5-Decrypt in PKCS#1 v2.1.
If the length of the plaintext is known, a pointer to a buffer large enough to hold the plaintext should be passed in plaintext and its length in plaintextLen. This function will copy the plaintext into plaintext and set the actual length of the plaintext in plaintextLen.
If plaintext is NULL, or plaintext is not NULL but plaintextLen is too small, this function will set the maximum length of the plaintext in plaintextLen.
The length of the modulus can be determined by calling hu_RSAKeyGet() and retrieving the nLen argument.
The rsaParams object is NULL.
The tag for the params object is not of the expected type.
The private key object is NULL.
The private key object is invalid.
The ciphertext buffer is NULL.
The ciphertext buffer length is incorrect.
The plaintext buffer length is NULL.
The plaintext buffer length is invalid.
Memory allocation failure.
Success.