#include "pkcs12.h"
#include "common.h"
#include "gtest/gtest.h"
#include <cstdlib>
namespace {
TEST(Pkcs12Test, parsePkcs12) {
setenv("ROOT_KEYSTORE_PASSWORD", DEFAULT_ROOT_KEYSTORE_PASSWORD, 1);
setenv("ROOT_KEYSTORE", "root_keystore.p12", 1);
uint8_t key[SYM_256_KEY_SIZE];
size_t key_length = SYM_256_KEY_SIZE;
char name[MAX_NAME_SIZE];
size_t name_length = MAX_NAME_SIZE;
name[0] = '\0';
ASSERT_EQ(load_pkcs12_secret_key(key, &key_length, name, &name_length), true);
ASSERT_EQ(key_length, SYM_128_KEY_SIZE);
ASSERT_EQ(name_length, 16);
ASSERT_EQ(memcmp(name, "fffffffffffffffe", 16), 0);
}
TEST(Pkcs12Test, parsePkcs12Common) {
setenv("ROOT_KEYSTORE_PASSWORD", DEFAULT_ROOT_KEYSTORE_PASSWORD, 1);
setenv("ROOT_KEYSTORE", "root_keystore.p12", 1);
uint8_t key[SYM_256_KEY_SIZE];
size_t key_length = SYM_256_KEY_SIZE;
char name[MAX_NAME_SIZE];
size_t name_length = MAX_NAME_SIZE;
strcpy(name, COMMON_ROOT_NAME);
ASSERT_EQ(load_pkcs12_secret_key(key, &key_length, name, &name_length), true);
ASSERT_EQ(key_length, SYM_128_KEY_SIZE);
ASSERT_EQ(name_length, 10);
ASSERT_EQ(memcmp(name, "commonroot", 10), 0);
}
}