Lines Matching refs:prf
6931 static psa_status_t psa_tls12_prf_set_seed(psa_tls12_prf_key_derivation_t *prf, argument
6935 if (prf->state != PSA_TLS12_PRF_STATE_INIT) {
6940 prf->seed = mbedtls_calloc(1, data_length);
6941 if (prf->seed == NULL) {
6945 memcpy(prf->seed, data, data_length);
6946 prf->seed_length = data_length;
6949 prf->state = PSA_TLS12_PRF_STATE_SEED_SET;
6954 static psa_status_t psa_tls12_prf_set_key(psa_tls12_prf_key_derivation_t *prf, argument
6958 if (prf->state != PSA_TLS12_PRF_STATE_SEED_SET &&
6959 prf->state != PSA_TLS12_PRF_STATE_OTHER_KEY_SET) {
6964 prf->secret = mbedtls_calloc(1, data_length);
6965 if (prf->secret == NULL) {
6969 memcpy(prf->secret, data, data_length);
6970 prf->secret_length = data_length;
6973 prf->state = PSA_TLS12_PRF_STATE_KEY_SET;
6978 static psa_status_t psa_tls12_prf_set_label(psa_tls12_prf_key_derivation_t *prf, argument
6982 if (prf->state != PSA_TLS12_PRF_STATE_KEY_SET) {
6987 prf->label = mbedtls_calloc(1, data_length);
6988 if (prf->label == NULL) {
6992 memcpy(prf->label, data, data_length);
6993 prf->label_length = data_length;
6996 prf->state = PSA_TLS12_PRF_STATE_LABEL_SET;
7001 static psa_status_t psa_tls12_prf_input(psa_tls12_prf_key_derivation_t *prf, argument
7008 return psa_tls12_prf_set_seed(prf, data, data_length);
7010 return psa_tls12_prf_set_key(prf, data, data_length);
7012 return psa_tls12_prf_set_label(prf, data, data_length);
7022 psa_tls12_prf_key_derivation_t *prf, argument
7027 const size_t pms_len = (prf->state == PSA_TLS12_PRF_STATE_OTHER_KEY_SET ?
7028 4 + data_length + prf->other_secret_length :
7059 if (prf->state == PSA_TLS12_PRF_STATE_OTHER_KEY_SET) {
7060 *cur++ = MBEDTLS_BYTE_1(prf->other_secret_length);
7061 *cur++ = MBEDTLS_BYTE_0(prf->other_secret_length);
7062 if (prf->other_secret_length != 0) {
7063 memcpy(cur, prf->other_secret, prf->other_secret_length);
7064 mbedtls_platform_zeroize(prf->other_secret, prf->other_secret_length);
7065 cur += prf->other_secret_length;
7079 status = psa_tls12_prf_set_key(prf, pms, (size_t) (cur - pms));
7086 psa_tls12_prf_key_derivation_t *prf, argument
7090 if (prf->state != PSA_TLS12_PRF_STATE_SEED_SET) {
7095 prf->other_secret = mbedtls_calloc(1, data_length);
7096 if (prf->other_secret == NULL) {
7100 memcpy(prf->other_secret, data, data_length);
7101 prf->other_secret_length = data_length;
7103 prf->other_secret_length = 0;
7106 prf->state = PSA_TLS12_PRF_STATE_OTHER_KEY_SET;
7112 psa_tls12_prf_key_derivation_t *prf, argument
7119 return psa_tls12_prf_psk_to_ms_set_key(prf,
7123 return psa_tls12_prf_psk_to_ms_set_other_key(prf,
7128 return psa_tls12_prf_input(prf, step, data, data_length);