# SVC_DecryptSign

## 構文

      #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 | ヒープ情報へのポインタ
buffer | 出力データ領域へのポインタ
sgn_ptr | 電子署名データへのポインタ
key_ptr | 公開鍵データへのポインタ

## 返り値

引数のポインタに NULL のものがある場合や、電子署名のパディングが不正な場合、FALSEを返します。
その他の場合、TRUE を返します。

## 説明

指定の公開鍵で署名データを復号します。

acmemory_pool は処理で使用するヒープ領域の情報が格納されている SVCSignHeapContext 構造体へのポインタです。`SVC_InitSignHeap()` で初期化したものです。

buffer は出力データ領域へのポインタです。復号されたデータはここに格納されます。
※出力サイズはSVC_SHA1_DIGEST_SIZE（20バイト）固定です。

sgn_ptr は復号する電子署名データへのポインタです。

key_ptr は復号に用いる公開鍵データへのポインタです。

公開鍵は1024bitの鍵長のもののみサポートしています。鍵の生成方法はCRYPTOのRSA暗号概要の鍵作成例を参照してください。

## 参照

`SVC_InitSignHeap`, `SVC_DecryptRSA`, `SVC_DecryptSignDER`

## 履歴

2008/09/18 鍵に関する解説追加
2008/05/22 出力データサイズの注意事項追加
2007/10/19 初版