@@ -24,7 +24,9 @@ typedef uint32_t psa_pake_primitive_t;
2424typedef uint8_t psa_pake_primitive_type_t ;
2525typedef uint8_t psa_pake_role_t ;
2626typedef uint8_t psa_pake_step_t ;
27+ typedef /* implementation-defined type */ psa_sign_operation_t ;
2728typedef uint8_t psa_slh_dsa_family_t ;
29+ typedef /* implementation-defined type */ psa_verify_operation_t ;
2830typedef /* implementation-defined type */ psa_xof_operation_t ;
2931typedef struct psa_custom_key_parameters_t {
3032 uint32_t flags ;
@@ -471,6 +473,7 @@ typedef struct psa_custom_key_parameters_t {
471473#define PSA_RAW_KEY_AGREEMENT_OUTPUT_SIZE (key_type , key_bits ) \
472474 /* implementation-defined value */
473475#define PSA_SIGNATURE_MAX_SIZE /* implementation-defined value */
476+ #define PSA_SIGN_OPERATION_INIT /* implementation-defined value */
474477#define PSA_SIGN_OUTPUT_SIZE (key_type , key_bits , alg ) \
475478 /* implementation-defined value */
476479#define PSA_SLH_DSA_FAMILY_SHA2_F ((psa_slh_dsa_family_t) 0x04)
@@ -479,6 +482,7 @@ typedef struct psa_custom_key_parameters_t {
479482#define PSA_SLH_DSA_FAMILY_SHAKE_S ((psa_slh_dsa_family_t) 0x0b)
480483#define PSA_TLS12_ECJPAKE_TO_PMS_OUTPUT_SIZE 32
481484#define PSA_TLS12_PSK_TO_MS_PSK_MAX_SIZE /* implementation-defined value */
485+ #define PSA_VERIFY_OPERATION_INIT /* implementation-defined value */
482486#define PSA_WRAP_KEY_OUTPUT_SIZE (wrap_key_type , alg , key_type , key_bits ) \
483487 /* implementation-defined value */
484488#define PSA_WRAP_KEY_PAIR_MAX_SIZE /* implementation-defined value */
@@ -827,6 +831,11 @@ void psa_set_key_type(psa_key_attributes_t * attributes,
827831 psa_key_type_t type );
828832void psa_set_key_usage_flags (psa_key_attributes_t * attributes ,
829833 psa_key_usage_t usage_flags );
834+ psa_status_t psa_sign_abort (psa_sign_operation_t * operation );
835+ psa_status_t psa_sign_finish (psa_sign_operation_t * operation ,
836+ uint8_t * signature ,
837+ size_t signature_size ,
838+ size_t * signature_length );
830839psa_status_t psa_sign_hash (psa_key_id_t key ,
831840 psa_algorithm_t alg ,
832841 const uint8_t * hash ,
@@ -859,12 +868,24 @@ psa_status_t psa_sign_message_with_context(psa_key_id_t key,
859868 uint8_t * signature ,
860869 size_t signature_size ,
861870 size_t * signature_length );
871+ psa_sign_operation_t psa_sign_operation_init (void );
872+ psa_status_t psa_sign_set_context (psa_sign_operation_t * operation ,
873+ const uint8_t * context ,
874+ size_t context_length );
875+ psa_status_t psa_sign_setup (psa_sign_operation_t * operation ,
876+ psa_key_id_t key ,
877+ psa_algorithm_t alg );
878+ psa_status_t psa_sign_update (psa_sign_operation_t * operation ,
879+ const uint8_t * input ,
880+ size_t input_length );
862881psa_status_t psa_unwrap_key (const psa_key_attributes_t * attributes ,
863882 psa_key_id_t wrapping_key ,
864883 psa_algorithm_t alg ,
865884 const uint8_t * data ,
866885 size_t data_length ,
867886 psa_key_id_t * key );
887+ psa_status_t psa_verify_abort (psa_verify_operation_t * operation );
888+ psa_status_t psa_verify_finish (psa_verify_operation_t * operation );
868889psa_status_t psa_verify_hash (psa_key_id_t key ,
869890 psa_algorithm_t alg ,
870891 const uint8_t * hash ,
@@ -893,6 +914,18 @@ psa_status_t psa_verify_message_with_context(psa_key_id_t key,
893914 size_t context_length ,
894915 const uint8_t * signature ,
895916 size_t signature_length );
917+ psa_verify_operation_t psa_verify_operation_init (void );
918+ psa_status_t psa_verify_set_context (psa_verify_operation_t * operation ,
919+ const uint8_t * context ,
920+ size_t context_length );
921+ psa_status_t psa_verify_setup (psa_verify_operation_t * operation ,
922+ psa_key_id_t key ,
923+ psa_algorithm_t alg ,
924+ const uint8_t * signature ,
925+ size_t signature_length );
926+ psa_status_t psa_verify_update (psa_verify_operation_t * operation ,
927+ const uint8_t * input ,
928+ size_t input_length );
896929psa_status_t psa_wrap_key (psa_key_id_t wrapping_key ,
897930 psa_algorithm_t alg ,
898931 psa_key_id_t key ,
0 commit comments