SVC_DecryptSign

Syntax

#include <twl/os/common/systemCall.h>
void SVC_DecryptSign( const SVCSignHeapContext* acmemory_pool,
                        void* buffer,
                        const void* sgn_ptr,
                        const void* key_ptr );

Arguments

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.

Return Values

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.

Description

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.

See Also

SVC_InitSignHeap, SVC_DecryptRSA, SVC_DecryptSignDER

Revision History

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