Lines Matching full:response
209 * Get TPM response return code, which is one of TPM_RESULT values.
211 * @param response byte string of TPM response
212 * @return return code of the TPM response
214 static uint32_t tpm_return_code(const void *response) in tpm_return_code() argument
217 return get_unaligned_be32(response + return_code_offset); in tpm_return_code()
221 * Send a TPM command and return response's return code, and optionally
222 * return response to caller.
225 * @param response output buffer for TPM response, or NULL if the
228 * response length (output parameter); this parameter
230 * @return return code of the TPM response
233 void *response, size_t *size_ptr) in tpm_sendrecv_command() argument
240 if (response) { in tpm_sendrecv_command()
243 response = response_buffer; in tpm_sendrecv_command()
251 response, &response_length); in tpm_sendrecv_command()
258 return tpm_return_code(response); in tpm_sendrecv_command()
356 uint8_t buf[COMMAND_BUFFER_SIZE], response[COMMAND_BUFFER_SIZE]; in tpm_nv_read_value() local
357 size_t response_length = sizeof(response); in tpm_nv_read_value()
366 err = tpm_sendrecv_command(buf, response, &response_length); in tpm_nv_read_value()
369 if (unpack_byte_string(response, response_length, "d", in tpm_nv_read_value()
374 if (unpack_byte_string(response, response_length, "s", in tpm_nv_read_value()
393 uint8_t buf[COMMAND_BUFFER_SIZE], response[COMMAND_BUFFER_SIZE]; in tpm_nv_write_value() local
394 size_t response_length = sizeof(response); in tpm_nv_write_value()
404 err = tpm_sendrecv_command(buf, response, &response_length); in tpm_nv_write_value()
420 uint8_t response[TPM_RESPONSE_HEADER_LENGTH + PCR_DIGEST_LENGTH]; in tpm_extend() local
421 size_t response_length = sizeof(response); in tpm_extend()
430 err = tpm_sendrecv_command(buf, response, &response_length); in tpm_extend()
434 if (unpack_byte_string(response, response_length, "s", in tpm_extend()
449 uint8_t buf[COMMAND_BUFFER_SIZE], response[COMMAND_BUFFER_SIZE]; in tpm_pcr_read() local
450 size_t response_length = sizeof(response); in tpm_pcr_read()
460 err = tpm_sendrecv_command(buf, response, &response_length); in tpm_pcr_read()
463 if (unpack_byte_string(response, response_length, "s", in tpm_pcr_read()
494 uint8_t response[COMMAND_BUFFER_SIZE + TPM_PUBEK_SIZE]; in tpm_read_pubek() local
495 size_t response_length = sizeof(response); in tpm_read_pubek()
499 err = tpm_sendrecv_command(command, response, &response_length); in tpm_read_pubek()
502 if (unpack_byte_string(response, response_length, "d", in tpm_read_pubek()
510 if (unpack_byte_string(response, response_length, "s", in tpm_read_pubek()
575 uint8_t buf[COMMAND_BUFFER_SIZE], response[COMMAND_BUFFER_SIZE]; in tpm_get_capability() local
576 size_t response_length = sizeof(response); in tpm_get_capability()
585 err = tpm_sendrecv_command(buf, response, &response_length); in tpm_get_capability()
588 if (unpack_byte_string(response, response_length, "d", in tpm_get_capability()
593 if (unpack_byte_string(response, response_length, "s", in tpm_get_capability()
612 uint8_t response[COMMAND_BUFFER_SIZE]; in tpm_get_permanent_flags() local
613 size_t response_length = sizeof(response); in tpm_get_permanent_flags()
617 err = tpm_sendrecv_command(command, response, &response_length); in tpm_get_permanent_flags()
620 if (unpack_byte_string(response, response_length, "d", in tpm_get_permanent_flags()
625 if (unpack_byte_string(response, response_length, "s", in tpm_get_permanent_flags()
643 uint8_t buf[COMMAND_BUFFER_SIZE], response[COMMAND_BUFFER_SIZE]; in tpm_get_permissions() local
644 size_t response_length = sizeof(response); in tpm_get_permissions()
650 err = tpm_sendrecv_command(buf, response, &response_length); in tpm_get_permissions()
653 if (unpack_byte_string(response, response_length, "d", in tpm_get_permissions()
672 uint8_t buf[COMMAND_BUFFER_SIZE], response[COMMAND_BUFFER_SIZE]; in tpm_flush_specific() local
673 size_t response_length = sizeof(response); in tpm_flush_specific()
682 err = tpm_sendrecv_command(buf, response, &response_length); in tpm_flush_specific()
753 * Verify an authentication block in a response.
755 * called when receiving a succesfull AUTH response.
760 * @param response pointer to the request (w/ uninitialised auth data)
761 * @param handles_len length of the handles area in response
763 * @param response_auth pointer to the auth block of the response to be verified
767 const void *response, size_t response_len0, in verify_response_auth() argument
789 sha1_update(&hash_ctx, response + return_code_offset, 4); in verify_response_auth()
793 response + TPM_RESPONSE_HEADER_LENGTH + handles_len, in verify_response_auth()
861 uint8_t response[COMMAND_BUFFER_SIZE]; in tpm_oiap() local
862 size_t response_length = sizeof(response); in tpm_oiap()
868 err = tpm_sendrecv_command(command, response, &response_length); in tpm_oiap()
871 if (unpack_byte_string(response, response_length, "ds", in tpm_oiap()
899 uint8_t response[COMMAND_BUFFER_SIZE]; in tpm_load_key2_oiap() local
900 size_t response_length = sizeof(response); in tpm_load_key2_oiap()
924 err = tpm_sendrecv_command(request, response, &response_length); in tpm_load_key2_oiap()
931 err = verify_response_auth(0x00000041, response, in tpm_load_key2_oiap()
934 response + response_length - TPM_RESPONSE_AUTH_LENGTH, in tpm_load_key2_oiap()
940 if (unpack_byte_string(response, response_length, "d", in tpm_load_key2_oiap()
961 uint8_t response[TPM_RESPONSE_HEADER_LENGTH + TPM_PUBKEY_MAX_LENGTH in tpm_get_pub_key_oiap() local
963 size_t response_length = sizeof(response); in tpm_get_pub_key_oiap()
983 err = tpm_sendrecv_command(request, response, &response_length); in tpm_get_pub_key_oiap()
989 err = verify_response_auth(0x00000021, response, in tpm_get_pub_key_oiap()
992 response + response_length - TPM_RESPONSE_AUTH_LENGTH, in tpm_get_pub_key_oiap()
1003 memcpy(pubkey, response + res_pubkey_offset, in tpm_get_pub_key_oiap()