

#include <twl/os/common/systemCall.h>
void SVC_DecryptSign( const SVCSignHeapContext* acmemory_pool,
void* buffer,
const void* sgn_ptr,
const void* key_ptr );
| acmemory_pool | Pointer to the heap information. |
| buffer | Pointer to the output data buffer. |
| sgn_ptr | Pointer to the digital signature data. |
| key_ptr | Pointer to the public key data. |
Returns FALSE if the one of the pointers in the arguments is NULL or if the padding of the digital signature is invalid. Returns TRUE otherwise.
Decrypts signed data using the specified public key.
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.
buffer is a pointer to the output data buffer. The decrypted data is stored here.
Note: The output size is fixed at SVC_SHA1_DIGEST_SIZE (20 bytes).
sgn_ptr is a pointer to the digital signature data to decrypt.
key_ptr is a pointer to the public key data to use for decryption.
Only a 1024-bit key length is supported for the public key. See the key creation example in the CRYPTO library's RSA encryption overview for information on how to create a key.
SVC_InitSignHeap, SVC_DecryptRSA, SVC_DecryptSignDER
2008/09/18 Added an explanation related to keys.
2008/05/22 Added a note on the output data size.
2007/10/19 Initial version.
CONFIDENTIAL