1 /* Copyright (c) 2010 The Chromium OS Authors. All rights reserved. 2 * Use of this source code is governed by a BSD-style license that can be 3 * found in the LICENSE file. 4 * 5 * Utility functions for file and key handling. 6 */ 7 8 #ifndef VBOOT_REFERENCE_FILE_KEYS_H_ 9 #define VBOOT_REFERENCE_FILE_KEYS_H_ 10 11 #include "cryptolib.h" 12 13 /* Read file named [input_file] into a buffer and stores the length into 14 * [len]. 15 * 16 * Returns a pointer to the buffer. Caller owns the returned pointer and 17 * must free it. 18 */ 19 uint8_t* BufferFromFile(const char* input_file, uint64_t* len); 20 21 /* Read a pre-processed RSA Public Key from file [input_file]. 22 * 23 * Returns a pointer to the read key. Caller owns the returned pointer and 24 * must free it. 25 */ 26 RSAPublicKey* RSAPublicKeyFromFile(const char* input_file); 27 28 /* Returns the appropriate digest for the data in [input_file] 29 * based on the signature [algorithm]. 30 * Caller owns the returned digest and must free it. 31 */ 32 uint8_t* DigestFile(char* input_file, int sig_algorithm); 33 34 #endif /* VBOOT_REFERENCE_FILE_KEYS_H_ */ 35