mbed TLS v2.0.0
pk_internal.h
Go to the documentation of this file.
1 
25 #ifndef MBEDTLS_PK_WRAP_H
26 #define MBEDTLS_PK_WRAP_H
27 
28 #if !defined(MBEDTLS_CONFIG_FILE)
29 #include "config.h"
30 #else
31 #include MBEDTLS_CONFIG_FILE
32 #endif
33 
34 #include "pk.h"
35 
37 {
40 
42  const char *name;
43 
45  size_t (*get_bitlen)( const void * );
46 
49 
51  int (*verify_func)( void *ctx, mbedtls_md_type_t md_alg,
52  const unsigned char *hash, size_t hash_len,
53  const unsigned char *sig, size_t sig_len );
54 
56  int (*sign_func)( void *ctx, mbedtls_md_type_t md_alg,
57  const unsigned char *hash, size_t hash_len,
58  unsigned char *sig, size_t *sig_len,
59  int (*f_rng)(void *, unsigned char *, size_t),
60  void *p_rng );
61 
63  int (*decrypt_func)( void *ctx, const unsigned char *input, size_t ilen,
64  unsigned char *output, size_t *olen, size_t osize,
65  int (*f_rng)(void *, unsigned char *, size_t),
66  void *p_rng );
67 
69  int (*encrypt_func)( void *ctx, const unsigned char *input, size_t ilen,
70  unsigned char *output, size_t *olen, size_t osize,
71  int (*f_rng)(void *, unsigned char *, size_t),
72  void *p_rng );
73 
75  int (*check_pair_func)( const void *pub, const void *prv );
76 
78  void * (*ctx_alloc_func)( void );
79 
81  void (*ctx_free_func)( void *ctx );
82 
84  void (*debug_func)( const void *ctx, mbedtls_pk_debug_item *items );
85 
86 };
87 #if defined(MBEDTLS_PK_RSA_ALT_SUPPORT)
88 /* Container for RSA-alt */
89 typedef struct
90 {
91  void *key;
96 #endif
97 
98 #if defined(MBEDTLS_RSA_C)
100 #endif
101 
102 #if defined(MBEDTLS_ECP_C)
105 #endif
106 
107 #if defined(MBEDTLS_ECDSA_C)
109 #endif
110 
111 #if defined(MBEDTLS_PK_RSA_ALT_SUPPORT)
113 #endif
114 
115 #endif /* MBEDTLS_PK_WRAP_H */
void(* debug_func)(const void *ctx, mbedtls_pk_debug_item *items)
Interface with the debug module.
Definition: pk_internal.h:84
int(* verify_func)(void *ctx, mbedtls_md_type_t md_alg, const unsigned char *hash, size_t hash_len, const unsigned char *sig, size_t sig_len)
Verify signature.
Definition: pk_internal.h:51
int(* encrypt_func)(void *ctx, const unsigned char *input, size_t ilen, unsigned char *output, size_t *olen, size_t osize, int(*f_rng)(void *, unsigned char *, size_t), void *p_rng)
Encrypt message.
Definition: pk_internal.h:69
const mbedtls_pk_info_t mbedtls_ecdsa_info
const mbedtls_pk_info_t mbedtls_rsa_alt_info
mbedtls_pk_rsa_alt_decrypt_func decrypt_func
Definition: pk_internal.h:92
mbedtls_pk_type_t
Public key types.
Definition: pk.h:71
Compatibility names (set of defines)
mbedtls_pk_type_t type
Public key type.
Definition: pk_internal.h:39
int(* decrypt_func)(void *ctx, const unsigned char *input, size_t ilen, unsigned char *output, size_t *olen, size_t osize, int(*f_rng)(void *, unsigned char *, size_t), void *p_rng)
Decrypt message.
Definition: pk_internal.h:63
int(* sign_func)(void *ctx, mbedtls_md_type_t md_alg, const unsigned char *hash, size_t hash_len, unsigned char *sig, size_t *sig_len, int(*f_rng)(void *, unsigned char *, size_t), void *p_rng)
Make signature.
Definition: pk_internal.h:56
size_t(* get_bitlen)(const void *)
Get key size in bits.
Definition: pk_internal.h:45
Public Key abstraction layer.
mbedtls_pk_rsa_alt_key_len_func key_len_func
Definition: pk_internal.h:94
const char * name
Type name.
Definition: pk_internal.h:42
mbedtls_pk_rsa_alt_sign_func sign_func
Definition: pk_internal.h:93
int(* can_do)(mbedtls_pk_type_t type)
Tell if the context implements this type (e.g.
Definition: pk_internal.h:48
const mbedtls_pk_info_t mbedtls_rsa_info
size_t(* mbedtls_pk_rsa_alt_key_len_func)(void *ctx)
Definition: pk.h:166
int(* check_pair_func)(const void *pub, const void *prv)
Check public-private key pair.
Definition: pk_internal.h:75
int(* mbedtls_pk_rsa_alt_decrypt_func)(void *ctx, int mode, size_t *olen, const unsigned char *input, unsigned char *output, size_t output_max_len)
Types for RSA-alt abstraction.
Definition: pk.h:159
int(* mbedtls_pk_rsa_alt_sign_func)(void *ctx, int(*f_rng)(void *, unsigned char *, size_t), void *p_rng, int mode, mbedtls_md_type_t md_alg, unsigned int hashlen, const unsigned char *hash, unsigned char *sig)
Definition: pk.h:162
const mbedtls_pk_info_t mbedtls_eckeydh_info
const mbedtls_pk_info_t mbedtls_eckey_info
mbedtls_md_type_t
Definition: md.h:44
Item to send to the debug module.
Definition: pk.h:105
void(* ctx_free_func)(void *ctx)
Free the given context.
Definition: pk_internal.h:81