mirror of
				https://github.com/cuberite/polarssl.git
				synced 2025-10-30 19:20:40 -04:00 
			
		
		
		
	PK: use NULL for unimplemented operations
This commit is contained in:
		
							parent
							
								
									f73da02962
								
							
						
					
					
						commit
						fff80f8879
					
				| @ -45,7 +45,7 @@ | |||||||
| #endif | #endif | ||||||
| 
 | 
 | ||||||
| #define POLARSSL_ERR_PK_MALLOC_FAILED       -0x2F80  /**< Memory alloation failed. */ | #define POLARSSL_ERR_PK_MALLOC_FAILED       -0x2F80  /**< Memory alloation failed. */ | ||||||
| #define POLARSSL_ERR_PK_TYPE_MISMATCH       -0x2F00  /**< Type mismatch, eg attempt to use a RSA key as EC, or to modify key type. */ | #define POLARSSL_ERR_PK_TYPE_MISMATCH       -0x2F00  /**< Type mismatch, eg attempt to encrypt with an ECDSA key */ | ||||||
| #define POLARSSL_ERR_PK_BAD_INPUT_DATA      -0x2E80  /**< Bad input parameters to function. */ | #define POLARSSL_ERR_PK_BAD_INPUT_DATA      -0x2E80  /**< Bad input parameters to function. */ | ||||||
| 
 | 
 | ||||||
| #if defined(POLARSSL_RSA_C) | #if defined(POLARSSL_RSA_C) | ||||||
|  | |||||||
| @ -127,6 +127,9 @@ int pk_verify( pk_context *ctx, md_type_t md_alg, | |||||||
|     if( ctx == NULL || ctx->pk_info == NULL ) |     if( ctx == NULL || ctx->pk_info == NULL ) | ||||||
|         return( POLARSSL_ERR_PK_BAD_INPUT_DATA ); |         return( POLARSSL_ERR_PK_BAD_INPUT_DATA ); | ||||||
| 
 | 
 | ||||||
|  |     if( ctx->pk_info->verify_func == NULL ) | ||||||
|  |         return( POLARSSL_ERR_PK_TYPE_MISMATCH ); | ||||||
|  | 
 | ||||||
|     return( ctx->pk_info->verify_func( ctx->pk_ctx, md_alg, |     return( ctx->pk_info->verify_func( ctx->pk_ctx, md_alg, | ||||||
|                                        hash, hash_len, |                                        hash, hash_len, | ||||||
|                                        sig, sig_len ) ); |                                        sig, sig_len ) ); | ||||||
|  | |||||||
| @ -131,22 +131,11 @@ static size_t eckey_get_size( const void *ctx ) | |||||||
| static int ecdsa_verify_wrap( void *ctx, md_type_t md_alg, | static int ecdsa_verify_wrap( void *ctx, md_type_t md_alg, | ||||||
|                        const unsigned char *hash, size_t hash_len, |                        const unsigned char *hash, size_t hash_len, | ||||||
|                        const unsigned char *sig, size_t sig_len ); |                        const unsigned char *sig, size_t sig_len ); | ||||||
| #endif |  | ||||||
| 
 | 
 | ||||||
| static int eckey_verify_wrap( void *ctx, md_type_t md_alg, | static int eckey_verify_wrap( void *ctx, md_type_t md_alg, | ||||||
|                        const unsigned char *hash, size_t hash_len, |                        const unsigned char *hash, size_t hash_len, | ||||||
|                        const unsigned char *sig, size_t sig_len ) |                        const unsigned char *sig, size_t sig_len ) | ||||||
| { | { | ||||||
| #if !defined(POLARSSL_ECDSA_C) |  | ||||||
|     ((void) ctx); |  | ||||||
|     ((void) md_alg); |  | ||||||
|     ((void) hash); |  | ||||||
|     ((void) hash_len); |  | ||||||
|     ((void) sig); |  | ||||||
|     ((void) sig_len); |  | ||||||
| 
 |  | ||||||
|     return( POLARSSL_ERR_PK_TYPE_MISMATCH ); |  | ||||||
| #else |  | ||||||
|     int ret; |     int ret; | ||||||
|     ecdsa_context ecdsa; |     ecdsa_context ecdsa; | ||||||
| 
 | 
 | ||||||
| @ -158,8 +147,8 @@ static int eckey_verify_wrap( void *ctx, md_type_t md_alg, | |||||||
|     ecdsa_free( &ecdsa ); |     ecdsa_free( &ecdsa ); | ||||||
| 
 | 
 | ||||||
|     return( ret ); |     return( ret ); | ||||||
| #endif /* POLARSSL_ECDSA_C */ |  | ||||||
| } | } | ||||||
|  | #endif /* POLARSSL_ECDSA_C */ | ||||||
| 
 | 
 | ||||||
| static void *eckey_alloc_wrap( void ) | static void *eckey_alloc_wrap( void ) | ||||||
| { | { | ||||||
| @ -189,7 +178,11 @@ const pk_info_t eckey_info = { | |||||||
|     "EC", |     "EC", | ||||||
|     eckey_get_size, |     eckey_get_size, | ||||||
|     eckey_can_do, |     eckey_can_do, | ||||||
|  | #if defined(POLARSSL_ECDSA_C) | ||||||
|     eckey_verify_wrap, |     eckey_verify_wrap, | ||||||
|  | #else | ||||||
|  |     NULL, | ||||||
|  | #endif | ||||||
|     eckey_alloc_wrap, |     eckey_alloc_wrap, | ||||||
|     eckey_free_wrap, |     eckey_free_wrap, | ||||||
|     eckey_debug, |     eckey_debug, | ||||||
| @ -204,26 +197,12 @@ static int eckeydh_can_do( pk_type_t type ) | |||||||
|             type == POLARSSL_PK_ECKEY_DH ); |             type == POLARSSL_PK_ECKEY_DH ); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static int eckeydh_verify_wrap( void *ctx, md_type_t md_alg, |  | ||||||
|                        const unsigned char *hash, size_t hash_len, |  | ||||||
|                        const unsigned char *sig, size_t sig_len ) |  | ||||||
| { |  | ||||||
|     ((void) ctx); |  | ||||||
|     ((void) md_alg); |  | ||||||
|     ((void) hash); |  | ||||||
|     ((void) hash_len); |  | ||||||
|     ((void) sig); |  | ||||||
|     ((void) sig_len); |  | ||||||
| 
 |  | ||||||
|     return( POLARSSL_ERR_PK_TYPE_MISMATCH ); |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| const pk_info_t eckeydh_info = { | const pk_info_t eckeydh_info = { | ||||||
|     POLARSSL_PK_ECKEY_DH, |     POLARSSL_PK_ECKEY_DH, | ||||||
|     "EC_DH", |     "EC_DH", | ||||||
|     eckey_get_size,         /* Same underlying key structure */ |     eckey_get_size,         /* Same underlying key structure */ | ||||||
|     eckeydh_can_do, |     eckeydh_can_do, | ||||||
|     eckeydh_verify_wrap, |     NULL, | ||||||
|     eckey_alloc_wrap,       /* Same underlying key structure */ |     eckey_alloc_wrap,       /* Same underlying key structure */ | ||||||
|     eckey_free_wrap,        /* Same underlying key structure */ |     eckey_free_wrap,        /* Same underlying key structure */ | ||||||
|     eckey_debug,            /* Same underlying key structure */ |     eckey_debug,            /* Same underlying key structure */ | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Manuel Pégourié-Gonnard
						Manuel Pégourié-Gonnard