Adapt x509parse_cert_info() for EC
This commit is contained in:
parent
674b2243eb
commit
360a583029
2 changed files with 38 additions and 2 deletions
|
@ -36,6 +36,27 @@
|
||||||
#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 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
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -3341,8 +3341,23 @@ int x509parse_cert_info( char *buf, size_t size, const char *prefix,
|
||||||
ret = snprintf( p, n, desc );
|
ret = snprintf( p, n, desc );
|
||||||
SAFE_SNPRINTF();
|
SAFE_SNPRINTF();
|
||||||
|
|
||||||
ret = snprintf( p, n, "\n%sRSA key size : %d bits\n", prefix,
|
switch( crt->pk.type )
|
||||||
(int) crt->rsa.N.n * (int) sizeof( t_uint ) * 8 );
|
{
|
||||||
|
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();
|
SAFE_SNPRINTF();
|
||||||
|
|
||||||
return( (int) ( size - n ) );
|
return( (int) ( size - n ) );
|
||||||
|
|
Loading…
Reference in a new issue