mirror of
https://github.com/FreeRTOS/FreeRTOS.git
synced 2026-03-25 10:32:42 +08:00
Populate RSA key attributes in mbedtls context (#1287)
* Populate RSA key from mbedtls context to support TLSv1.3 * Fix formatting --------- Co-authored-by: Rahul Kar <karahulx@amazon.com>
This commit is contained in:
@@ -1062,24 +1062,22 @@ static CK_RV p11_rsa_ctx_init( mbedtls_pk_context * pk,
|
||||
xResult = CKR_FUNCTION_FAILED;
|
||||
}
|
||||
|
||||
/*
|
||||
* TODO: corePKCS11 does not allow exporting RSA public attributes.
|
||||
* This function should be updated to properly initialize the
|
||||
* mbedtls_rsa_context when this is addressed.
|
||||
*/
|
||||
CK_ATTRIBUTE pxAttrs[ 8 ] =
|
||||
{
|
||||
{ .type = CKA_MODULUS, .ulValueLen = sizeof( mbedtls_mpi ), .pValue = &( pxMbedRsaCtx->N ) },
|
||||
{ .type = CKA_PUBLIC_EXPONENT, .ulValueLen = sizeof( mbedtls_mpi ), .pValue = &( pxMbedRsaCtx->E ) },
|
||||
{ .type = CKA_PRIME_1, .ulValueLen = sizeof( mbedtls_mpi ), .pValue = &( pxMbedRsaCtx->P ) },
|
||||
{ .type = CKA_PRIME_2, .ulValueLen = sizeof( mbedtls_mpi ), .pValue = &( pxMbedRsaCtx->Q ) },
|
||||
{ .type = CKA_PRIVATE_EXPONENT, .ulValueLen = sizeof( mbedtls_mpi ), .pValue = &( pxMbedRsaCtx->D ) },
|
||||
{ .type = CKA_EXPONENT_1, .ulValueLen = sizeof( mbedtls_mpi ), .pValue = &( pxMbedRsaCtx->DP ) },
|
||||
{ .type = CKA_EXPONENT_2, .ulValueLen = sizeof( mbedtls_mpi ), .pValue = &( pxMbedRsaCtx->DQ ) },
|
||||
{ .type = CKA_COEFFICIENT, .ulValueLen = sizeof( mbedtls_mpi ), .pValue = &( pxMbedRsaCtx->QP ) },
|
||||
};
|
||||
|
||||
/* CK_ATTRIBUTE pxAttrs[ 2 ] = */
|
||||
/* { */
|
||||
/* { .type = CKA_MODULUS, .ulValueLen = 0, .pValue = NULL }, */
|
||||
/* { .type = CKA_PUBLIC_EXPONENT, .ulValueLen = 0, .pValue = NULL }, */
|
||||
/* { .type = CKA_PRIME_1, .ulValueLen = 0, .pValue = NULL }, */
|
||||
/* { .type = CKA_PRIME_2, .ulValueLen = 0, .pValue = NULL }, */
|
||||
/* { .type = CKA_EXPONENT_1, .ulValueLen = 0, .pValue = NULL }, */
|
||||
/* { .type = CKA_EXPONENT_2, .ulValueLen = 0, .pValue = NULL }, */
|
||||
/* { .type = CKA_COEFFICIENT, .ulValueLen = 0, .pValue = NULL }, */
|
||||
/* }; */
|
||||
|
||||
( void ) pxMbedRsaCtx;
|
||||
xResult = pxFunctionList->C_GetAttributeValue( xSessionHandle,
|
||||
xPkHandle,
|
||||
pxAttrs,
|
||||
sizeof( pxAttrs ) / sizeof( CK_ATTRIBUTE ) );
|
||||
|
||||
if( xResult == CKR_OK )
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user