r13399@catbus: nickm | 2007-06-13 15:17:44 -0400

Hm. Tor should never need private authority identity keys; thus, I should not actually load the authority identity keys for testing.


svn:r10591
This commit is contained in:
Nick Mathewson 2007-06-13 19:17:46 +00:00
parent 3fa9a90243
commit eab7c6890d
2 changed files with 5 additions and 146 deletions

View File

@ -2128,20 +2128,16 @@ test_dir_format(void)
} }
extern const char AUTHORITY_CERT_1[]; extern const char AUTHORITY_CERT_1[];
extern const char AUTHORITY_IDKEY_1[];
extern const char AUTHORITY_SIGNKEY_1[]; extern const char AUTHORITY_SIGNKEY_1[];
extern const char AUTHORITY_CERT_2[]; extern const char AUTHORITY_CERT_2[];
extern const char AUTHORITY_IDKEY_2[];
extern const char AUTHORITY_SIGNKEY_2[]; extern const char AUTHORITY_SIGNKEY_2[];
extern const char AUTHORITY_CERT_3[]; extern const char AUTHORITY_CERT_3[];
extern const char AUTHORITY_IDKEY_3[];
extern const char AUTHORITY_SIGNKEY_3[]; extern const char AUTHORITY_SIGNKEY_3[];
static void static void
test_v3_networkstatus(void) test_v3_networkstatus(void)
{ {
authority_cert_t *cert1, *cert2, *cert3; authority_cert_t *cert1, *cert2, *cert3;
crypto_pk_env_t *id_skey_1, *id_skey_2, *id_skey_3;
crypto_pk_env_t *sign_skey_1, *sign_skey_2, *sign_skey_3; crypto_pk_env_t *sign_skey_1, *sign_skey_2, *sign_skey_3;
time_t now = time(NULL); time_t now = time(NULL);
@ -2161,19 +2157,10 @@ test_v3_networkstatus(void)
test_assert(cert2); test_assert(cert2);
cert3 = authority_cert_parse_from_string(AUTHORITY_CERT_3, NULL); cert3 = authority_cert_parse_from_string(AUTHORITY_CERT_3, NULL);
test_assert(cert3); test_assert(cert3);
id_skey_1 = crypto_new_pk_env();
id_skey_2 = crypto_new_pk_env();
id_skey_3 = crypto_new_pk_env();
sign_skey_1 = crypto_new_pk_env(); sign_skey_1 = crypto_new_pk_env();
sign_skey_2 = crypto_new_pk_env(); sign_skey_2 = crypto_new_pk_env();
sign_skey_3 = crypto_new_pk_env(); sign_skey_3 = crypto_new_pk_env();
test_assert(!crypto_pk_read_private_key_from_string(id_skey_1,
AUTHORITY_IDKEY_1));
test_assert(!crypto_pk_read_private_key_from_string(id_skey_2,
AUTHORITY_IDKEY_2));
test_assert(!crypto_pk_read_private_key_from_string(id_skey_3,
AUTHORITY_IDKEY_3));
test_assert(!crypto_pk_read_private_key_from_string(sign_skey_1, test_assert(!crypto_pk_read_private_key_from_string(sign_skey_1,
AUTHORITY_SIGNKEY_1)); AUTHORITY_SIGNKEY_1));
test_assert(!crypto_pk_read_private_key_from_string(sign_skey_2, test_assert(!crypto_pk_read_private_key_from_string(sign_skey_2,
@ -2181,9 +2168,7 @@ test_v3_networkstatus(void)
test_assert(!crypto_pk_read_private_key_from_string(sign_skey_3, test_assert(!crypto_pk_read_private_key_from_string(sign_skey_3,
AUTHORITY_SIGNKEY_3)); AUTHORITY_SIGNKEY_3));
test_assert(!crypto_pk_cmp_keys(id_skey_1, cert1->identity_key));
test_assert(!crypto_pk_cmp_keys(sign_skey_1, cert1->signing_key)); test_assert(!crypto_pk_cmp_keys(sign_skey_1, cert1->signing_key));
test_assert(!crypto_pk_cmp_keys(id_skey_2, cert2->identity_key));
test_assert(!crypto_pk_cmp_keys(sign_skey_2, cert2->signing_key)); test_assert(!crypto_pk_cmp_keys(sign_skey_2, cert2->signing_key));
/* /*
@ -2211,7 +2196,7 @@ test_v3_networkstatus(void)
voter->dir_port = 80; voter->dir_port = 80;
voter->or_port = 9000; voter->or_port = 9000;
voter->contact = tor_strdup("voter1@example.com"); voter->contact = tor_strdup("voter1@example.com");
crypto_pk_get_digest(id_skey_1, voter->identity_digest); crypto_pk_get_digest(cert1->identity_key, voter->identity_digest);
smartlist_add(vote->voters, voter); smartlist_add(vote->voters, voter);
vote->cert = authority_cert_dup(cert1); vote->cert = authority_cert_dup(cert1);
vote->routerstatus_list = smartlist_create(); vote->routerstatus_list = smartlist_create();
@ -2282,7 +2267,6 @@ test_v3_networkstatus(void)
test_eq(voter->or_port, 9000); test_eq(voter->or_port, 9000);
test_streq(voter->contact, "voter1@example.com"); test_streq(voter->contact, "voter1@example.com");
test_assert(v1->cert); test_assert(v1->cert);
test_assert(!crypto_pk_cmp_keys(id_skey_1, v1->cert->identity_key));
test_assert(!crypto_pk_cmp_keys(sign_skey_1, v1->cert->signing_key)); test_assert(!crypto_pk_cmp_keys(sign_skey_1, v1->cert->signing_key));
cp = smartlist_join_strings(v1->known_flags, ":", 0, NULL); cp = smartlist_join_strings(v1->known_flags, ":", 0, NULL);
test_streq(cp, "Authority:Exit:Fast:Guard:Running:Stable:V2Dir:Valid"); test_streq(cp, "Authority:Exit:Fast:Guard:Running:Stable:V2Dir:Valid");
@ -2332,7 +2316,7 @@ test_v3_networkstatus(void)
voter->nickname = tor_strdup("Voter2"); voter->nickname = tor_strdup("Voter2");
voter->address = tor_strdup("2.3.4.5"); voter->address = tor_strdup("2.3.4.5");
voter->addr = 0x02030405; voter->addr = 0x02030405;
crypto_pk_get_digest(id_skey_2, voter->identity_digest); crypto_pk_get_digest(cert2->identity_key, voter->identity_digest);
smartlist_add(vote->known_flags, tor_strdup("MadeOfCheese")); smartlist_add(vote->known_flags, tor_strdup("MadeOfCheese"));
smartlist_add(vote->known_flags, tor_strdup("MadeOfTin")); smartlist_add(vote->known_flags, tor_strdup("MadeOfTin"));
smartlist_sort_strings(vote->known_flags); smartlist_sort_strings(vote->known_flags);
@ -2369,7 +2353,7 @@ test_v3_networkstatus(void)
voter->nickname = tor_strdup("Voter3"); voter->nickname = tor_strdup("Voter3");
voter->address = tor_strdup("3.4.5.6"); voter->address = tor_strdup("3.4.5.6");
voter->addr = 0x03040506; voter->addr = 0x03040506;
crypto_pk_get_digest(id_skey_3, voter->identity_digest); crypto_pk_get_digest(cert3->identity_key, voter->identity_digest);
vrs = smartlist_get(vote->routerstatus_list, 0); vrs = smartlist_get(vote->routerstatus_list, 0);
smartlist_del_keeporder(vote->routerstatus_list, 0); smartlist_del_keeporder(vote->routerstatus_list, 0);
tor_free(vrs->version); tor_free(vrs->version);
@ -2385,7 +2369,8 @@ test_v3_networkstatus(void)
smartlist_add(votes, v1); smartlist_add(votes, v1);
smartlist_add(votes, v2); smartlist_add(votes, v2);
consensus_text = networkstatus_compute_consensus(votes, consensus_text = networkstatus_compute_consensus(votes,
id_skey_3, sign_skey_3); cert3->identity_key,
sign_skey_3);
test_assert(consensus_text); test_assert(consensus_text);
consensus = networkstatus_parse_vote_from_string(consensus_text, 0); consensus = networkstatus_parse_vote_from_string(consensus_text, 0);
test_assert(consensus); test_assert(consensus);
@ -2400,9 +2385,6 @@ test_v3_networkstatus(void)
networkstatus_vote_free(v1); networkstatus_vote_free(v1);
networkstatus_vote_free(v2); networkstatus_vote_free(v2);
networkstatus_vote_free(v3); networkstatus_vote_free(v3);
crypto_free_pk_env(id_skey_1);
crypto_free_pk_env(id_skey_2);
crypto_free_pk_env(id_skey_3);
crypto_free_pk_env(sign_skey_1); crypto_free_pk_env(sign_skey_1);
crypto_free_pk_env(sign_skey_2); crypto_free_pk_env(sign_skey_2);
crypto_free_pk_env(sign_skey_3); crypto_free_pk_env(sign_skey_3);

View File

@ -40,47 +40,6 @@ const char AUTHORITY_CERT_1[] =
"sxRWj3HyMv6Ax5bASOLgP2ikdXGnZLHau93yKJ6N8U57JjCTavxMlRXONbLS0qYe\n" "sxRWj3HyMv6Ax5bASOLgP2ikdXGnZLHau93yKJ6N8U57JjCTavxMlRXONbLS0qYe\n"
"-----END SIGNATURE-----\n"; "-----END SIGNATURE-----\n";
const char AUTHORITY_IDKEY_1[] =
"-----BEGIN RSA PRIVATE KEY-----\n"
"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\n"
"-----END RSA PRIVATE KEY-----\n";
const char AUTHORITY_SIGNKEY_1[] = const char AUTHORITY_SIGNKEY_1[] =
"-----BEGIN RSA PRIVATE KEY-----\n" "-----BEGIN RSA PRIVATE KEY-----\n"
"MIICXAIBAAKBgQC0Ca8nircvHr5MbBtca494XswLd6m00n4oKbQExnXdgh/lbzCl\n" "MIICXAIBAAKBgQC0Ca8nircvHr5MbBtca494XswLd6m00n4oKbQExnXdgh/lbzCl\n"
@ -133,47 +92,6 @@ const char AUTHORITY_CERT_2[] =
"a8qDHR0tPS9/VkqTPcvUWCZeY3UiDeWPjoK1nea1pz6DHDWglKPx86a0amjjayZQ\n" "a8qDHR0tPS9/VkqTPcvUWCZeY3UiDeWPjoK1nea1pz6DHDWglKPx86a0amjjayZQ\n"
"-----END SIGNATURE-----\n"; "-----END SIGNATURE-----\n";
const char AUTHORITY_IDKEY_2[] =
"-----BEGIN RSA PRIVATE KEY-----\n"
"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\n"
"-----END RSA PRIVATE KEY-----\n";
const char AUTHORITY_SIGNKEY_2[] = const char AUTHORITY_SIGNKEY_2[] =
"-----BEGIN RSA PRIVATE KEY-----\n" "-----BEGIN RSA PRIVATE KEY-----\n"
"MIICXgIBAAKBgQDrt3YK0LYd4qr4v1M38sGgDcNGwVLjDgYZzAXoixHES53iR1CZ\n" "MIICXgIBAAKBgQDrt3YK0LYd4qr4v1M38sGgDcNGwVLjDgYZzAXoixHES53iR1CZ\n"
@ -226,47 +144,6 @@ const char AUTHORITY_CERT_3[] =
"pMc65FviIrc/Q5TUku6NNbCbnGll1599PvWuUzkG42lJ17V6psKHIsqGtVdHlCUc\n" "pMc65FviIrc/Q5TUku6NNbCbnGll1599PvWuUzkG42lJ17V6psKHIsqGtVdHlCUc\n"
"-----END SIGNATURE-----\n"; "-----END SIGNATURE-----\n";
const char AUTHORITY_IDKEY_3[] =
"-----BEGIN RSA PRIVATE KEY-----\n"
"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\n"
"-----END RSA PRIVATE KEY-----\n";
const char AUTHORITY_SIGNKEY_3[] = const char AUTHORITY_SIGNKEY_3[] =
"-----BEGIN RSA PRIVATE KEY-----\n" "-----BEGIN RSA PRIVATE KEY-----\n"
"MIICXgIBAAKBgQDa0mZVKt/AaM94rlDsnWEyVee6026tW8/NORT9kBtmftm8KYCi\n" "MIICXgIBAAKBgQDa0mZVKt/AaM94rlDsnWEyVee6026tW8/NORT9kBtmftm8KYCi\n"