28 #if defined(POLARSSL_PK_C)
35 #if defined(POLARSSL_ECP_C)
39 #if defined(POLARSSL_ECDSA_C)
43 #if defined(POLARSSL_MEMORY_C)
47 #define polarssl_malloc malloc
48 #define polarssl_free free
57 #if defined(POLARSSL_RSA_C)
58 static size_t rsa_get_size(
const void *ctx )
63 static int rsa_verify_wrap(
void *ctx,
md_type_t md_alg,
64 const unsigned char *hash,
size_t hash_len,
65 const unsigned char *sig,
size_t sig_len )
71 RSA_PUBLIC, md_alg, (
unsigned int) hash_len, hash, sig ) );
74 static int rsa_sign_wrap(
void *ctx,
md_type_t md_alg,
75 const unsigned char *hash,
size_t hash_len,
76 unsigned char *sig,
size_t *sig_len,
77 int (*f_rng)(
void *,
unsigned char *,
size_t),
void *p_rng )
82 md_alg, (
unsigned int) hash_len, hash, sig ) );
85 static int rsa_decrypt_wrap(
void *ctx,
86 const unsigned char *input,
size_t ilen,
87 unsigned char *output,
size_t *olen,
size_t osize,
88 int (*f_rng)(
void *,
unsigned char *,
size_t),
void *p_rng )
97 static int rsa_encrypt_wrap(
void *ctx,
98 const unsigned char *input,
size_t ilen,
99 unsigned char *output,
size_t *olen,
size_t osize,
100 int (*f_rng)(
void *,
unsigned char *,
size_t),
void *p_rng )
107 f_rng, p_rng,
RSA_PUBLIC, ilen, input, output ) );
110 static void *rsa_alloc_wrap(
void )
120 static void rsa_free_wrap(
void *ctx )
126 static void rsa_debug(
const void *ctx,
pk_debug_item *items )
129 items->
name =
"rsa.N";
135 items->
name =
"rsa.E";
154 #if defined(POLARSSL_ECP_C)
158 static int eckey_can_do(
pk_type_t type )
165 static size_t eckey_get_size(
const void *ctx )
170 #if defined(POLARSSL_ECDSA_C)
172 static int ecdsa_verify_wrap(
void *ctx,
md_type_t md_alg,
173 const unsigned char *hash,
size_t hash_len,
174 const unsigned char *sig,
size_t sig_len );
176 static int ecdsa_sign_wrap(
void *ctx,
md_type_t md_alg,
177 const unsigned char *hash,
size_t hash_len,
178 unsigned char *sig,
size_t *sig_len,
179 int (*f_rng)(
void *,
unsigned char *,
size_t),
void *p_rng );
181 static int eckey_verify_wrap(
void *ctx,
md_type_t md_alg,
182 const unsigned char *hash,
size_t hash_len,
183 const unsigned char *sig,
size_t sig_len )
191 ret = ecdsa_verify_wrap( &ecdsa, md_alg, hash, hash_len, sig, sig_len );
198 static int eckey_sign_wrap(
void *ctx,
md_type_t md_alg,
199 const unsigned char *hash,
size_t hash_len,
200 unsigned char *sig,
size_t *sig_len,
201 int (*f_rng)(
void *,
unsigned char *,
size_t),
void *p_rng )
209 ret = ecdsa_sign_wrap( &ecdsa, md_alg, hash, hash_len, sig, sig_len,
219 static void *eckey_alloc_wrap(
void )
229 static void eckey_free_wrap(
void *ctx )
235 static void eckey_debug(
const void *ctx,
pk_debug_item *items )
238 items->
name =
"eckey.Q";
247 #if defined(POLARSSL_ECDSA_C)
264 static int eckeydh_can_do(
pk_type_t type )
285 #if defined(POLARSSL_ECDSA_C)
286 static int ecdsa_can_do(
pk_type_t type )
291 static int ecdsa_verify_wrap(
void *ctx,
md_type_t md_alg,
292 const unsigned char *hash,
size_t hash_len,
293 const unsigned char *sig,
size_t sig_len )
298 hash, hash_len, sig, sig_len ) );
301 static int ecdsa_sign_wrap(
void *ctx,
md_type_t md_alg,
302 const unsigned char *hash,
size_t hash_len,
303 unsigned char *sig,
size_t *sig_len,
304 int (*f_rng)(
void *,
unsigned char *,
size_t),
void *p_rng )
309 hash, hash_len, sig, sig_len, f_rng, p_rng ) );
312 static void *ecdsa_alloc_wrap(
void )
322 static void ecdsa_free_wrap(
void *ctx )
347 static size_t rsa_alt_get_size(
const void *ctx )
354 static int rsa_alt_sign_wrap(
void *ctx,
md_type_t md_alg,
355 const unsigned char *hash,
size_t hash_len,
356 unsigned char *sig,
size_t *sig_len,
357 int (*f_rng)(
void *,
unsigned char *,
size_t),
void *p_rng )
364 md_alg, (
unsigned int) hash_len, hash, sig ) );
367 static int rsa_alt_decrypt_wrap(
void *ctx,
368 const unsigned char *input,
size_t ilen,
369 unsigned char *output,
size_t *olen,
size_t osize,
370 int (*f_rng)(
void *,
unsigned char *,
size_t),
void *p_rng )
384 static void *rsa_alt_alloc_wrap(
void )
394 static void rsa_alt_free_wrap(
void *ctx )
406 rsa_alt_decrypt_wrap,