|
44 | 44 | /* MbedTLS include. */ |
45 | 45 | #include "mbedtls/ctr_drbg.h" |
46 | 46 | #include "mbedtls/entropy.h" |
47 | | -#include "mbedtls/entropy_poll.h" |
| 47 | +#include "entropy_poll.h" |
48 | 48 | #include "mbedtls/error.h" |
49 | 49 | #include "mbedtls/oid.h" |
50 | 50 | #include "mbedtls/pk.h" |
51 | | -#include "mbedtls/pk_internal.h" |
| 51 | +#include "pk_wrap.h" |
52 | 52 | #include "mbedtls/sha256.h" |
53 | 53 | #include "mbedtls/x509_crt.h" |
54 | 54 | #include "mbedtls/x509_csr.h" |
@@ -243,11 +243,12 @@ static int extractEcPublicKey( CK_SESSION_HANDLE p11Session, |
243 | 243 | * @param[in] pRng Unused. |
244 | 244 | * @param[in] pRngContext Unused. |
245 | 245 | */ |
246 | | -static int32_t privateKeySigningCallback( void * pContext, |
| 246 | +static int32_t privateKeySigningCallback( mbedtls_pk_context * pContext, |
247 | 247 | mbedtls_md_type_t mdAlg, |
248 | 248 | const unsigned char * pHash, |
249 | 249 | size_t hashLen, |
250 | 250 | unsigned char * pSig, |
| 251 | + size_t sig_size, |
251 | 252 | size_t * pSigLen, |
252 | 253 | int ( * pRng )( void *, unsigned char *, size_t ), |
253 | 254 | void * pRngContext ); |
@@ -636,10 +637,15 @@ static CK_RV provisionPrivateKey( CK_SESSION_HANDLE session, |
636 | 637 | mbedtls_pk_type_t mbedKeyType = MBEDTLS_PK_NONE; |
637 | 638 | int mbedResult = 0; |
638 | 639 | mbedtls_pk_context mbedPkContext = { 0 }; |
| 640 | + mbedtls_ctr_drbg_context ctr_drbg; |
| 641 | + mbedtls_entropy_context entropy; |
639 | 642 |
|
640 | 643 | mbedtls_pk_init( &mbedPkContext ); |
| 644 | + mbedtls_entropy_init(&entropy); |
| 645 | + mbedtls_ctr_drbg_init(&ctr_drbg); |
| 646 | + mbedtls_ctr_drbg_seed(&ctr_drbg, mbedtls_entropy_func, &entropy, NULL, 0); |
641 | 647 | mbedResult = mbedtls_pk_parse_key( &mbedPkContext, ( const uint8_t * ) privateKey, |
642 | | - privateKeyLength, NULL, 0 ); |
| 648 | + privateKeyLength, NULL, 0, mbedtls_ctr_drbg_random, &ctr_drbg ); |
643 | 649 |
|
644 | 650 | if( mbedResult != 0 ) |
645 | 651 | { |
@@ -900,11 +906,12 @@ static int extractEcPublicKey( CK_SESSION_HANDLE p11Session, |
900 | 906 |
|
901 | 907 | /*-----------------------------------------------------------*/ |
902 | 908 |
|
903 | | -static int32_t privateKeySigningCallback( void * pContext, |
| 909 | +static int32_t privateKeySigningCallback( mbedtls_pk_context * pContext, |
904 | 910 | mbedtls_md_type_t mdAlg, |
905 | 911 | const unsigned char * pHash, |
906 | 912 | size_t hashLen, |
907 | 913 | unsigned char * pSig, |
| 914 | + size_t sig_size, |
908 | 915 | size_t * pSigLen, |
909 | 916 | int ( * pRng )( void *, unsigned char *, size_t ), |
910 | 917 | void * pRngContext ) |
|
0 commit comments