

#include <twl/os/common/systemCall.h>
int SVC_DecryptRSA( const SVCSignHeapContext* acmemory_pool,
const SVCSignBuffers* pData,
unsigned int* len );
typedef struct { u32* head; u32* tail; u32 size; } SVCSignHeapContext; typedef struct { void* output; const void* input; const void* key; } SVCSignBuffers;
| acmemory_pool | Pointer to the heap information. |
| pData | Pointer to the structure containing data including which region the data is stored in. |
| len | Size of the data. |
Returns FALSE if any pointers in the arguments or any members of pData are NULL. Returns TRUE otherwise.
Performs RSA decryption.
acmemory_pool is a pointer to the SVCSignHeapContext structure where information about the heap area used for the operation is stored. This is initialized by the SVC_InitSignHeap function.
pData is a pointer to a structure that contains various data, including which region the data will be stored in. The input member is a pointer to the input data, and the output member is a pointer to the output data region. The key is a pointer to the private key used for decryption. Only a 1024-bit key length is supported for the private key.
len is the length of the data.
See the key creation example in the CRYPTO library's RSA encryption overview for information on how to create a private key.
SVC_InitSignHeap, SVC_DecryptSign, SVC_DecryptSignDER
2008/09/18 Added an explanation related to keys.
2007/10/19 Initial version.
CONFIDENTIAL