From 3c6050277b54f536e7effbe850dcc970a27387ab Mon Sep 17 00:00:00 2001 From: André Draszik Date: Tue, 3 Oct 2017 16:55:52 +0100 Subject: tpm: add tpm_get_random() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add a function to obtain random data from the TPM. Signed-off-by: André Draszik Added commit message, add cast to min() Signed-off-by: Simon Glass Acked-by: Simon Glass --- include/tpm.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'include') diff --git a/include/tpm.h b/include/tpm.h index f88388f3530..2a7528dd486 100644 --- a/include/tpm.h +++ b/include/tpm.h @@ -651,4 +651,16 @@ uint32_t tpm_flush_specific(uint32_t key_handle, uint32_t resource_type); uint32_t tpm_find_key_sha1(const uint8_t auth[20], const uint8_t pubkey_digest[20], uint32_t *handle); #endif /* CONFIG_TPM_LOAD_KEY_BY_SHA1 */ + +/** + * Read random bytes from the TPM RNG. The implementation deals with the fact + * that the TPM may legally return fewer bytes than requested by retrying + * until @p count bytes have been received. + * + * @param data output buffer for the random bytes + * @param count size of output buffer + * @return return code of the operation + */ +uint32_t tpm_get_random(void *data, uint32_t count); + #endif /* __TPM_H */ -- cgit v1.3.1