host,test: Remove unneeded vb1 rsa functions

Another in a continued stream of refactoring.  This change removes more
of the vb1 rsa library code and associated tests, in favor of their vb2
equivalents.  This change touches only host-side code and its tests, not
firmware.

BUG=chromium:611535
BRANCH=none
TEST=make runtests; emerge-kevin coreboot depthcharge

Change-Id: I1973bc2f03c60da62232e30bab0fa5fe791b6b34
Signed-off-by: Randall Spangler <rspangler@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/400901
This commit is contained in:
Randall Spangler
2016-10-14 15:37:25 -07:00
committed by chrome-bot
parent 13b109762a
commit 5a9f498182
18 changed files with 131 additions and 1082 deletions

View File

@@ -22,55 +22,6 @@
#include "host_common.h"
#include "signature_digest.h"
uint8_t *BufferFromFile(const char* input_file, uint64_t* len)
{
int fd;
struct stat stat_fd;
uint8_t* buf = NULL;
if ((fd = open(input_file, O_RDONLY)) == -1) {
VBDEBUG(("Couldn't open file %s\n", input_file));
return NULL;
}
if (-1 == fstat(fd, &stat_fd)) {
VBDEBUG(("Couldn't stat file %s\n", input_file));
close(fd);
return NULL;
}
*len = stat_fd.st_size;
buf = (uint8_t *)malloc(*len);
if (!buf) {
VbExError("Couldn't allocate %ld bytes for file %s\n",
*len, input_file);
close(fd);
return NULL;
}
if (*len != read(fd, buf, *len)) {
VBDEBUG(("Couldn't read file %s into a buffer\n", input_file));
free(buf);
close(fd);
return NULL;
}
close(fd);
return buf;
}
RSAPublicKey *RSAPublicKeyFromFile(const char *input_file)
{
uint64_t len;
RSAPublicKey* key = NULL;
uint8_t *buf = BufferFromFile(input_file, &len);
if (buf)
key = RSAPublicKeyFromBuf(buf, len);
free(buf);
return key;
}
int DigestFile(char *input_file, enum vb2_hash_algorithm alg,
uint8_t *digest, uint32_t digest_size)
{

View File

@@ -39,21 +39,3 @@ int packed_key_looks_ok(const struct vb2_packed_key *key, uint32_t size)
/* Success */
return 1;
}
/* TODO: the host code just uses this to check the embedded key length in
* uint32_t's. It should get folded into packed_key_looks_ok. */
RSAPublicKey *vb2_packed_key_to_rsa(const struct vb2_packed_key *key)
{
RSAPublicKey *rsa;
if (!packed_key_looks_ok(key, key->key_size))
return NULL;
rsa = RSAPublicKeyFromBuf(vb2_packed_key_data(key), key->key_size);
if (!rsa)
return NULL;
rsa->algorithm = (unsigned int)key->algorithm;
return rsa;
}

View File

@@ -238,9 +238,9 @@ struct vb2_packed_key *vb2_read_packed_keyb(const char *filename,
if (VB2_SUCCESS != vb2_read_file(filename, &key_data, &key_size))
return NULL;
uint64_t expected_key_size;
if (!RSAProcessedKeySize(algorithm, &expected_key_size) ||
expected_key_size != key_size) {
uint32_t expected_key_size =
vb2_packed_key_size(vb2_crypto_to_signature(algorithm));
if (!expected_key_size || expected_key_size != key_size) {
fprintf(stderr, "%s() - wrong key size %u for algorithm %u\n",
__func__, key_size, algorithm);
free(key_data);

View File

@@ -11,21 +11,6 @@
#include "cryptolib.h"
#include "2sha.h"
/* Read file named [input_file] into a buffer and stores the length into
* [len].
*
* Returns a pointer to the buffer. Caller owns the returned pointer and
* must free it.
*/
uint8_t* BufferFromFile(const char* input_file, uint64_t* len);
/* Read a pre-processed RSA Public Key from file [input_file].
*
* Returns a pointer to the read key. Caller owns the returned pointer and
* must free it.
*/
RSAPublicKey* RSAPublicKeyFromFile(const char* input_file);
/* Calculates the appropriate digest for the data in [input_file] based on the
* hash algorithm [alg] and stores it into [digest], which is of size
* [digest_size]. Returns VB2_SUCCESS, or non-zero on error.

View File

@@ -20,8 +20,6 @@ int main(void)
WriteFile(0, 0, 0);
/* file_keys.h */
BufferFromFile(0, 0);
RSAPublicKeyFromFile(0);
DigestFile(0, 0, 0, 0);
/* signature_digest.h */