mirror of
https://github.com/yuzu-emu/mbedtls.git
synced 2025-02-02 14:51:02 +00:00
Actually use the parse functions
This commit is contained in:
parent
b176092656
commit
9c9e77a8ad
|
@ -172,6 +172,13 @@ static inline mbedtls_rsa_context *mbedtls_pk_rsa( const mbedtls_pk_context pk )
|
||||||
}
|
}
|
||||||
#endif /* MBEDTLS_RSA_C */
|
#endif /* MBEDTLS_RSA_C */
|
||||||
|
|
||||||
|
#if defined(MBEDTLS_USE_TINYCRYPT)
|
||||||
|
static inline mbedtls_uecc_keypair *mbedtls_uecc_pk( const mbedtls_pk_context pk )
|
||||||
|
{
|
||||||
|
return( (mbedtls_uecc_keypair *) (pk).pk_ctx );
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#if defined(MBEDTLS_ECP_C)
|
#if defined(MBEDTLS_ECP_C)
|
||||||
/**
|
/**
|
||||||
* Quick access to an EC context inside a PK context.
|
* Quick access to an EC context inside a PK context.
|
||||||
|
|
|
@ -1197,6 +1197,16 @@ static int pk_parse_key_pkcs8_unencrypted_der(
|
||||||
}
|
}
|
||||||
} else
|
} else
|
||||||
#endif /* MBEDTLS_RSA_C */
|
#endif /* MBEDTLS_RSA_C */
|
||||||
|
#if defined(MBEDTLS_USE_TINYCRYPT)
|
||||||
|
if( pk_alg == MBEDTLS_PK_ECDSA)
|
||||||
|
{
|
||||||
|
if( ( ret = pk_use_ecparams( ¶ms ) ) != 0 ||
|
||||||
|
( ret = pk_parse_key_sec1_der( mbedtls_uecc_pk( *pk ), p, len ) ) != 0)
|
||||||
|
{
|
||||||
|
return( ret );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#else
|
||||||
#if defined(MBEDTLS_ECP_C)
|
#if defined(MBEDTLS_ECP_C)
|
||||||
if( pk_alg == MBEDTLS_PK_ECKEY || pk_alg == MBEDTLS_PK_ECKEY_DH )
|
if( pk_alg == MBEDTLS_PK_ECKEY || pk_alg == MBEDTLS_PK_ECKEY_DH )
|
||||||
{
|
{
|
||||||
|
@ -1208,6 +1218,7 @@ static int pk_parse_key_pkcs8_unencrypted_der(
|
||||||
}
|
}
|
||||||
} else
|
} else
|
||||||
#endif /* MBEDTLS_ECP_C */
|
#endif /* MBEDTLS_ECP_C */
|
||||||
|
#endif
|
||||||
return( MBEDTLS_ERR_PK_UNKNOWN_PK_ALG );
|
return( MBEDTLS_ERR_PK_UNKNOWN_PK_ALG );
|
||||||
|
|
||||||
return( 0 );
|
return( 0 );
|
||||||
|
@ -1533,6 +1544,15 @@ int mbedtls_pk_parse_key( mbedtls_pk_context *pk,
|
||||||
mbedtls_pk_init( pk );
|
mbedtls_pk_init( pk );
|
||||||
#endif /* MBEDTLS_RSA_C */
|
#endif /* MBEDTLS_RSA_C */
|
||||||
|
|
||||||
|
#if defined(MBEDTLS_USE_TINYCRYPT)
|
||||||
|
pk_info = mbedtls_pk_info_from_type( MBEDTLS_PK_ECDSA );
|
||||||
|
if( mbedtls_pk_setup( pk, pk_info ) == 0 &&
|
||||||
|
pk_parse_key_sec1_der( mbedtls_uecc_pk( *pk),
|
||||||
|
key, keylen) == 0)
|
||||||
|
{
|
||||||
|
return( 0 );
|
||||||
|
}
|
||||||
|
#else
|
||||||
#if defined(MBEDTLS_ECP_C)
|
#if defined(MBEDTLS_ECP_C)
|
||||||
pk_info = mbedtls_pk_info_from_type( MBEDTLS_PK_ECKEY );
|
pk_info = mbedtls_pk_info_from_type( MBEDTLS_PK_ECKEY );
|
||||||
if( mbedtls_pk_setup( pk, pk_info ) == 0 &&
|
if( mbedtls_pk_setup( pk, pk_info ) == 0 &&
|
||||||
|
@ -1543,6 +1563,7 @@ int mbedtls_pk_parse_key( mbedtls_pk_context *pk,
|
||||||
}
|
}
|
||||||
mbedtls_pk_free( pk );
|
mbedtls_pk_free( pk );
|
||||||
#endif /* MBEDTLS_ECP_C */
|
#endif /* MBEDTLS_ECP_C */
|
||||||
|
#endif
|
||||||
|
|
||||||
/* If MBEDTLS_RSA_C is defined but MBEDTLS_ECP_C isn't,
|
/* If MBEDTLS_RSA_C is defined but MBEDTLS_ECP_C isn't,
|
||||||
* it is ok to leave the PK context initialized but not
|
* it is ok to leave the PK context initialized but not
|
||||||
|
|
Loading…
Reference in a new issue