Skip to content

Commit

Permalink
[mainline update] Populate RSA key attributes in mbedtls context (Fre…
Browse files Browse the repository at this point in the history
…eRTOS#1288)

* Populate RSA key attributes in mbedtls context

* Fix formatting

---------

Co-authored-by: Rahul Kar <karahulx@amazon.com>
  • Loading branch information
DakshitBabbar and kar-rahul-aws authored Oct 21, 2024
1 parent 349d8a8 commit 86d6312
Showing 1 changed file with 16 additions and 18 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -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[ 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;
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 ) },
};

xResult = pxFunctionList->C_GetAttributeValue( xSessionHandle,
xPkHandle,
pxAttrs,
sizeof( pxAttrs ) / sizeof( CK_ATTRIBUTE ) );

if( xResult == CKR_OK )
{
Expand Down

0 comments on commit 86d6312

Please sign in to comment.