6 #include "sw/device/lib/base/status.h"
8 #include "sw/device/lib/testing/entropy_testutils.h"
9 #include "sw/device/lib/testing/hexstr.h"
10 #include "sw/device/lib/testing/test_framework/check.h"
12 #include "sw/device/silicon_creator/lib/ownership/ecdsa.h"
13 #include "sw/device/silicon_creator/lib/ownership/keys/fake/no_owner_recovery_ecdsa_p256.h"
16 static const char kGettysburgPrelude[] =
17 "Four score and seven years ago our fathers brought forth on this "
18 "continent, a new nation, conceived in Liberty, and dedicated to the "
19 "proposition that all men are created equal.";
45 static const char kGettysburgDigest[] =
46 "bac78c8bc06a9fe233d43deb87c50e42ed24c396a3085777cd34900f03d46f1e";
48 static const char kGettysburgSignature[] =
49 "cda24f37d4979cea1446c495af344af83d2047d13191b41003431a182bf2b74c"
50 "365b08b78c57e3c3c11960fbc4a53fb63f61aecba3ddbda00059aebd08ad8f2c";
53 static const owner_key_t kNoOwnerRecoveryKey = NO_OWNER_RECOVERY_ECDSA_P256;
55 void __assert_func(
const char *file,
int line,
const char *func,
57 LOG_ERROR(
"%s:%d: %s %s", file, line, func, expr);
67 status_t ecdsa_verify_digest_test(
void) {
69 TRY(hexstr_decode(&digest,
sizeof(digest), kGettysburgDigest));
71 TRY(hexstr_decode(&signature.
ecdsa,
sizeof(signature.
ecdsa),
72 kGettysburgSignature));
74 &signature.
ecdsa, &digest);
81 status_t ecdsa_verify_message_test(
void) {
83 TRY(hexstr_decode(&signature.
ecdsa,
sizeof(signature.
ecdsa),
84 kGettysburgSignature));
86 ecdsa_verify_message(&kNoOwnerRecoveryKey.
ecdsa, &signature.
ecdsa,
87 kGettysburgPrelude,
sizeof(kGettysburgPrelude) - 1);
92 OTTF_DEFINE_TEST_CONFIG();
95 CHECK_STATUS_OK(entropy_testutils_auto_mode_init());
99 return status_ok(result);