Lines Matching refs:pk

2 #include "mbedtls/pk.h"
23 * \param pk The PK object to fill. It must have been initialized
32 static int pk_genkey( mbedtls_pk_context *pk, int parameter )
34 ((void) pk);
38 if( mbedtls_pk_get_type( pk ) == MBEDTLS_PK_RSA )
39 return mbedtls_rsa_gen_key( mbedtls_pk_rsa( *pk ),
44 if( mbedtls_pk_get_type( pk ) == MBEDTLS_PK_ECKEY ||
45 mbedtls_pk_get_type( pk ) == MBEDTLS_PK_ECKEY_DH ||
46 mbedtls_pk_get_type( pk ) == MBEDTLS_PK_ECDSA )
49 if( ( ret = mbedtls_ecp_group_load( &mbedtls_pk_ec( *pk )->grp,
53 return mbedtls_ecp_gen_keypair( &mbedtls_pk_ec( *pk )->grp,
54 &mbedtls_pk_ec( *pk )->d,
55 &mbedtls_pk_ec( *pk )->Q,
123 mbedtls_pk_context pk, pk2;
137 mbedtls_pk_init( &pk );
142 TEST_ASSERT( mbedtls_pk_setup_opaque( &pk, MBEDTLS_SVC_KEY_ID_INIT ) ==
145 mbedtls_pk_free( &pk );
146 mbedtls_pk_init( &pk );
152 TEST_ASSERT( mbedtls_pk_setup_opaque( &pk, key ) == 0 );
154 TEST_ASSERT( mbedtls_pk_get_type( &pk ) == MBEDTLS_PK_OPAQUE );
155 TEST_ASSERT( strcmp( mbedtls_pk_get_name( &pk), name ) == 0 );
157 TEST_ASSERT( mbedtls_pk_get_bitlen( &pk ) == bitlen );
158 TEST_ASSERT( mbedtls_pk_get_len( &pk ) == bitlen / 8 );
160 TEST_ASSERT( mbedtls_pk_can_do( &pk, MBEDTLS_PK_ECKEY ) == 1 );
161 TEST_ASSERT( mbedtls_pk_can_do( &pk, MBEDTLS_PK_ECDSA ) == 1 );
162 TEST_ASSERT( mbedtls_pk_can_do( &pk, MBEDTLS_PK_RSA ) == 0 );
165 TEST_ASSERT( mbedtls_pk_verify( &pk, md_alg,
168 TEST_ASSERT( mbedtls_pk_decrypt( &pk, b1, sizeof( b1 ),
172 TEST_ASSERT( mbedtls_pk_encrypt( &pk, b1, sizeof( b1 ),
180 TEST_ASSERT( mbedtls_pk_check_pair( &pk, &pk2,
183 TEST_ASSERT( mbedtls_pk_debug( &pk, &dbg )
187 mbedtls_pk_free( &pk );
198 mbedtls_pk_free( &pk ); /* redundant except upon error */
208 mbedtls_pk_context pk;
213 mbedtls_pk_init( &pk );
215 TEST_ASSERT( mbedtls_pk_setup( &pk, NULL ) ==
226 TEST_ASSERT( mbedtls_pk_sign_restartable( &pk,
234 TEST_ASSERT( mbedtls_pk_sign_restartable( &pk,
242 TEST_ASSERT( mbedtls_pk_sign( &pk,
249 TEST_ASSERT( mbedtls_pk_verify_restartable( &pk,
256 TEST_ASSERT( mbedtls_pk_verify( &pk,
263 &pk,
269 TEST_ASSERT( mbedtls_pk_encrypt( &pk,
275 TEST_ASSERT( mbedtls_pk_decrypt( &pk,
282 TEST_ASSERT( mbedtls_pk_parse_key( &pk, NULL, 0, NULL, 1,
286 TEST_ASSERT( mbedtls_pk_parse_public_key( &pk, NULL, 0 ) ==
295 mbedtls_pk_context pk;
298 mbedtls_pk_init( &pk );
299 TEST_ASSERT( mbedtls_pk_parse_key( &pk,
303 TEST_ASSERT( mbedtls_pk_write_key_der( &pk, NULL, 0 ) ==
306 TEST_ASSERT( mbedtls_pk_write_pubkey_der( &pk, NULL, 0 ) ==
310 TEST_ASSERT( mbedtls_pk_write_key_pem( &pk, NULL, 0 ) ==
313 TEST_ASSERT( mbedtls_pk_write_pubkey_pem( &pk, NULL, 0 ) ==
318 mbedtls_pk_free( &pk );
325 mbedtls_pk_context pk;
327 mbedtls_pk_init( &pk );
329 TEST_ASSERT( mbedtls_pk_setup( &pk, mbedtls_pk_info_from_type( type ) ) == 0 );
330 TEST_ASSERT( pk_genkey( &pk, parameter ) == 0 );
332 TEST_ASSERT( (int) mbedtls_pk_get_type( &pk ) == type );
333 TEST_ASSERT( mbedtls_pk_can_do( &pk, type ) );
334 TEST_ASSERT( mbedtls_pk_get_bitlen( &pk ) == (unsigned) bitlen );
335 TEST_ASSERT( mbedtls_pk_get_len( &pk ) == (unsigned) len );
336 TEST_ASSERT( strcmp( mbedtls_pk_get_name( &pk), name ) == 0 );
339 mbedtls_pk_free( &pk );
387 mbedtls_pk_context pk;
398 mbedtls_pk_init( &pk );
402 TEST_ASSERT( mbedtls_pk_setup( &pk, mbedtls_pk_info_from_type( MBEDTLS_PK_RSA ) ) == 0 );
403 rsa = mbedtls_pk_rsa( pk );
413 TEST_ASSERT( mbedtls_pk_verify( &pk, digest, hash_result, 0,
414 result_str->x, mbedtls_pk_get_len( &pk ) ) == result );
416 TEST_ASSERT( mbedtls_pk_verify_restartable( &pk, digest, hash_result, 0,
417 result_str->x, mbedtls_pk_get_len( &pk ), rs_ctx ) == result );
423 mbedtls_pk_free( &pk );
436 mbedtls_pk_context pk;
441 mbedtls_pk_init( &pk );
445 TEST_ASSERT( mbedtls_pk_setup( &pk, mbedtls_pk_info_from_type( MBEDTLS_PK_RSA ) ) == 0 );
446 rsa = mbedtls_pk_rsa( pk );
478 TEST_ASSERT( mbedtls_pk_verify_ext( pk_type, options, &pk,
480 result_str->x, mbedtls_pk_get_len( &pk ) ) == result );
483 mbedtls_pk_free( &pk );
491 mbedtls_pk_context pk;
494 mbedtls_pk_init( &pk );
497 TEST_ASSERT( mbedtls_pk_setup( &pk, mbedtls_pk_info_from_type( type ) ) == 0 );
499 TEST_ASSERT( mbedtls_pk_can_do( &pk, MBEDTLS_PK_ECDSA ) );
500 eckey = mbedtls_pk_ec( pk );
507 TEST_ASSERT( mbedtls_pk_verify( &pk, MBEDTLS_MD_NONE,
511 mbedtls_pk_free( &pk );
623 mbedtls_pk_context pk;
640 mbedtls_pk_init( &pk );
646 TEST_ASSERT( mbedtls_pk_setup( &pk, mbedtls_pk_info_from_type( type ) ) == 0 );
647 TEST_ASSERT( pk_genkey( &pk, parameter ) == 0 );
649 TEST_ASSERT( mbedtls_pk_sign_restartable( &pk, MBEDTLS_MD_SHA256,
659 TEST_ASSERT( mbedtls_pk_verify( &pk, MBEDTLS_MD_SHA256,
665 TEST_ASSERT( mbedtls_pk_verify( &pk, MBEDTLS_MD_SHA256,
670 TEST_ASSERT( mbedtls_pk_verify( &pk, MBEDTLS_MD_SHA256,
675 TEST_ASSERT( mbedtls_pk_sign( &pk, MBEDTLS_MD_SHA256, hash, hash_len,
684 TEST_ASSERT( mbedtls_pk_verify_restartable( &pk, MBEDTLS_MD_SHA256,
690 TEST_ASSERT( mbedtls_pk_verify_restartable( &pk, MBEDTLS_MD_SHA256,
695 TEST_ASSERT( mbedtls_pk_verify_restartable( &pk, MBEDTLS_MD_SHA256,
704 mbedtls_pk_free( &pk );
717 mbedtls_pk_context pk;
724 mbedtls_pk_init( &pk );
725 TEST_ASSERT( mbedtls_pk_setup( &pk, mbedtls_pk_info_from_type( MBEDTLS_PK_RSA ) ) == 0 );
726 rsa = mbedtls_pk_rsa( pk );
732 TEST_ASSERT( mbedtls_pk_encrypt( &pk, message->x, message->len,
739 mbedtls_pk_free( &pk );
753 mbedtls_pk_context pk;
756 mbedtls_pk_init( &pk );
763 /* init pk-rsa context */
764 TEST_ASSERT( mbedtls_pk_setup( &pk, mbedtls_pk_info_from_type( MBEDTLS_PK_RSA ) ) == 0 );
765 rsa = mbedtls_pk_rsa( pk );
781 TEST_ASSERT( mbedtls_pk_decrypt( &pk, cipher->x, cipher->len,
793 mbedtls_pk_free( &pk );
800 mbedtls_pk_context pk;
807 mbedtls_pk_init( &pk );
813 TEST_ASSERT( mbedtls_pk_setup( &pk, mbedtls_pk_info_from_type( type ) ) == 0 );
815 TEST_ASSERT( mbedtls_pk_encrypt( &pk, input, sizeof( input ),
819 TEST_ASSERT( mbedtls_pk_decrypt( &pk, input, sizeof( input ),
824 mbedtls_pk_free( &pk );
831 mbedtls_pk_context pk;
841 mbedtls_pk_init( &pk );
843 TEST_ASSERT( mbedtls_pk_setup( &pk,
847 TEST_ASSERT( mbedtls_pk_verify_ext( MBEDTLS_PK_RSASSA_PSS, NULL, &pk,
852 TEST_ASSERT( mbedtls_pk_verify( &pk, MBEDTLS_MD_NONE, hash, hash_len,
855 TEST_ASSERT( mbedtls_pk_sign( &pk, MBEDTLS_MD_NONE, hash, hash_len,
861 mbedtls_pk_free( &pk );
953 mbedtls_pk_context pk;
977 mbedtls_pk_init( &pk );
978 TEST_ASSERT( mbedtls_pk_setup( &pk,
981 (mbedtls_ecp_keypair*) pk.pk_ctx,
985 ret = mbedtls_pk_write_pubkey_der( &pk, pkey_legacy,
993 TEST_ASSERT( mbedtls_pk_wrap_as_opaque( &pk, &key_id,
1005 TEST_ASSERT( mbedtls_pk_sign( &pk, MBEDTLS_MD_SHA256,
1010 ret = mbedtls_pk_write_pubkey_der( &pk, pkey_psa,
1020 mbedtls_pk_free( &pk );
1023 mbedtls_pk_init( &pk );
1024 TEST_ASSERT( mbedtls_pk_parse_public_key( &pk, pkey_legacy_start,
1026 TEST_ASSERT( mbedtls_pk_verify( &pk, MBEDTLS_MD_SHA256,
1036 mbedtls_pk_free( &pk );