mirror of
				https://github.com/cuberite/polarssl.git
				synced 2025-11-03 20:22:59 -05:00 
			
		
		
		
	Adapt x509parse_cert_info() for EC
This commit is contained in:
		
							parent
							
								
									674b2243eb
								
							
						
					
					
						commit
						360a583029
					
				@ -36,6 +36,27 @@
 | 
			
		||||
#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 */
 | 
			
		||||
 | 
			
		||||
#if defined(POLARSSL_RSA_C)
 | 
			
		||||
/**
 | 
			
		||||
 * Quick access to an RSA context inside a PK context.
 | 
			
		||||
 *
 | 
			
		||||
 * \warning You must make sure the PK context actually holds an RSA context
 | 
			
		||||
 * before using this macro!
 | 
			
		||||
 */
 | 
			
		||||
#define pk_rsa( pk )        ( (rsa_context *) pk.data )
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#if defined(POLARSSL_ECP_C)
 | 
			
		||||
/**
 | 
			
		||||
 * Quick access to an EC context inside a PK context.
 | 
			
		||||
 *
 | 
			
		||||
 * \warning You must make sure the PK context actually holds an EC context
 | 
			
		||||
 * before using this macro!
 | 
			
		||||
 */
 | 
			
		||||
#define pk_ec( pk )         ( (ecp_keypair *) pk.data )
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#ifdef __cplusplus
 | 
			
		||||
extern "C" {
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
@ -3341,8 +3341,23 @@ int x509parse_cert_info( char *buf, size_t size, const char *prefix,
 | 
			
		||||
        ret = snprintf( p, n, desc );
 | 
			
		||||
    SAFE_SNPRINTF();
 | 
			
		||||
 | 
			
		||||
    ret = snprintf( p, n, "\n%sRSA key size  : %d bits\n", prefix,
 | 
			
		||||
                   (int) crt->rsa.N.n * (int) sizeof( t_uint ) * 8 );
 | 
			
		||||
    switch( crt->pk.type )
 | 
			
		||||
    {
 | 
			
		||||
        case POLARSSL_PK_NONE:
 | 
			
		||||
        case POLARSSL_PK_ECDSA:
 | 
			
		||||
            ret = snprintf(p, n, "\n%sPK type looks wrong!", prefix);
 | 
			
		||||
            break;
 | 
			
		||||
 | 
			
		||||
        case POLARSSL_PK_RSA:
 | 
			
		||||
            ret = snprintf( p, n, "\n%sRSA key size  : %d bits\n", prefix,
 | 
			
		||||
                   (int) pk_rsa( crt->pk )->N.n * (int) sizeof( t_uint ) * 8 );
 | 
			
		||||
            break;
 | 
			
		||||
 | 
			
		||||
        case POLARSSL_PK_ECKEY:
 | 
			
		||||
        case POLARSSL_PK_ECKEY_DH:
 | 
			
		||||
            ret = snprintf( p, n, "\n%sEC key size   : %d bits\n", prefix,
 | 
			
		||||
                    (int) pk_ec( crt->pk )->grp.pbits );
 | 
			
		||||
    }
 | 
			
		||||
    SAFE_SNPRINTF();
 | 
			
		||||
 | 
			
		||||
    return( (int) ( size - n ) );
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user