|
|
|
@ -68,6 +68,7 @@ namespace {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const char* alice_filename = "test_keys/alice-no-passwords.pgp";
|
|
|
|
|
const char* alice_pub_filename = "test_keys/pub/alice-0x2A649B9F_pub.asc";
|
|
|
|
|
const char* bob_filename = "test_keys/bob-primary-with-password-bob-subkey-without.pgp";
|
|
|
|
|
const char* carol_filename = "test_keys/carol-subkeys-password-carol.pgp";
|
|
|
|
|
const char* david_filename = "test_keys/david-encryption-subkey-password-encrypt-signing-subkey-password-sign.pgp";
|
|
|
|
@ -99,6 +100,14 @@ TEST_F(PassphraseTest, check_alice_no_passphrase_nopass_import) {
|
|
|
|
|
ASSERT_STREQ(found_key->value, alice_fpr);
|
|
|
|
|
ASSERT_EQ(found_key->next, nullptr);
|
|
|
|
|
free_stringlist(found_key);
|
|
|
|
|
|
|
|
|
|
#if PPTEST_DUMP
|
|
|
|
|
char* keytext = NULL;
|
|
|
|
|
size_t size = 0;
|
|
|
|
|
export_key(session, alice_fpr, &keytext, &size);
|
|
|
|
|
dump_out("test_keys/pub/alice-0x2A649B9F_pub.asc", keytext);
|
|
|
|
|
free(keytext);
|
|
|
|
|
#endif
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
TEST_F(PassphraseTest, check_bob_primary_pass_subkey_no_passphrase_nopass_import) {
|
|
|
|
@ -207,7 +216,7 @@ TEST_F(PassphraseTest, check_bob_primary_pass_subkey_no_passphrase_nopass_sign)
|
|
|
|
|
ASSERT_EQ(status, PEP_STATUS_OK);
|
|
|
|
|
|
|
|
|
|
// Set up "to"
|
|
|
|
|
ASSERT_TRUE(slurp_and_import_key(session, alice_filename));
|
|
|
|
|
ASSERT_TRUE(slurp_and_import_key(session, alice_pub_filename));
|
|
|
|
|
const char* to_fpr = alice_fpr;
|
|
|
|
|
const char* to_name = "Alice Malice";
|
|
|
|
|
const char* to_address = "alice_malice@darthmama.cool";
|
|
|
|
@ -249,7 +258,7 @@ TEST_F(PassphraseTest, check_carol_primary_unenc_subkeys_passphrase_nopass_sign)
|
|
|
|
|
ASSERT_EQ(status, PEP_STATUS_OK);
|
|
|
|
|
|
|
|
|
|
// Set up "to"
|
|
|
|
|
ASSERT_TRUE(slurp_and_import_key(session, alice_filename));
|
|
|
|
|
ASSERT_TRUE(slurp_and_import_key(session, alice_pub_filename));
|
|
|
|
|
const char* to_fpr = alice_fpr;
|
|
|
|
|
const char* to_name = "Alice Malice";
|
|
|
|
|
const char* to_address = "alice_malice@darthmama.cool";
|
|
|
|
@ -291,7 +300,7 @@ TEST_F(PassphraseTest, check_david_primary_unenc_sign_and_encrypt_diff_pass_two_
|
|
|
|
|
ASSERT_EQ(status, PEP_STATUS_OK);
|
|
|
|
|
|
|
|
|
|
// Set up "to"
|
|
|
|
|
ASSERT_TRUE(slurp_and_import_key(session, alice_filename));
|
|
|
|
|
ASSERT_TRUE(slurp_and_import_key(session, alice_pub_filename));
|
|
|
|
|
const char* to_fpr = alice_fpr;
|
|
|
|
|
const char* to_name = "Alice Malice";
|
|
|
|
|
const char* to_address = "alice_malice@darthmama.cool";
|
|
|
|
@ -333,7 +342,7 @@ TEST_F(PassphraseTest, check_erwin_primary_enc_subkey_encrypted_plus_unenc_sign_
|
|
|
|
|
ASSERT_EQ(status, PEP_STATUS_OK);
|
|
|
|
|
|
|
|
|
|
// Set up "to"
|
|
|
|
|
ASSERT_TRUE(slurp_and_import_key(session, alice_filename));
|
|
|
|
|
ASSERT_TRUE(slurp_and_import_key(session, alice_pub_filename));
|
|
|
|
|
const char* to_fpr = alice_fpr;
|
|
|
|
|
const char* to_name = "Alice Malice";
|
|
|
|
|
const char* to_address = "alice_malice@darthmama.cool";
|
|
|
|
@ -567,7 +576,7 @@ TEST_F(PassphraseTest, check_bob_primary_pass_subkey_no_passphrase_nopass_decryp
|
|
|
|
|
ASSERT_EQ(status, PEP_STATUS_OK);
|
|
|
|
|
|
|
|
|
|
// Set up "to"
|
|
|
|
|
ASSERT_TRUE(slurp_and_import_key(session, alice_filename));
|
|
|
|
|
ASSERT_TRUE(slurp_and_import_key(session, alice_pub_filename));
|
|
|
|
|
const char* to_fpr = alice_fpr;
|
|
|
|
|
const char* to_name = "Alice Malice";
|
|
|
|
|
const char* to_address = "alice_malice@darthmama.cool";
|
|
|
|
@ -608,7 +617,7 @@ TEST_F(PassphraseTest, check_carol_primary_unenc_subkeys_passphrase_nopass_decry
|
|
|
|
|
ASSERT_EQ(status, PEP_STATUS_OK);
|
|
|
|
|
|
|
|
|
|
// Set up "to"
|
|
|
|
|
ASSERT_TRUE(slurp_and_import_key(session, alice_filename));
|
|
|
|
|
ASSERT_TRUE(slurp_and_import_key(session, alice_pub_filename));
|
|
|
|
|
const char* to_fpr = alice_fpr;
|
|
|
|
|
const char* to_name = "Alice Malice";
|
|
|
|
|
const char* to_address = "alice_malice@darthmama.cool";
|
|
|
|
@ -630,3 +639,288 @@ TEST_F(PassphraseTest, check_carol_primary_unenc_subkeys_passphrase_nopass_decry
|
|
|
|
|
free(modified_src);
|
|
|
|
|
free_stringlist(keylist_used);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
TEST_F(PassphraseTest, check_alice_no_passphrase_withpass_sign_encrypt) {
|
|
|
|
|
ASSERT_TRUE(slurp_and_import_key(session, alice_filename));
|
|
|
|
|
stringlist_t* found_key = NULL;
|
|
|
|
|
PEP_STATUS status = find_keys(session, alice_fpr, &found_key);
|
|
|
|
|
ASSERT_EQ(status, PEP_STATUS_OK);
|
|
|
|
|
ASSERT_NE(found_key, nullptr);
|
|
|
|
|
ASSERT_NE(found_key->value, nullptr);
|
|
|
|
|
ASSERT_STREQ(found_key->value, alice_fpr);
|
|
|
|
|
ASSERT_EQ(found_key->next, nullptr);
|
|
|
|
|
|
|
|
|
|
const char* my_fpr = alice_fpr;
|
|
|
|
|
const char* my_name = "Alice Malice";
|
|
|
|
|
const char* my_address = "alice_malice@darthmama.cool";
|
|
|
|
|
pEp_identity* my_ident = new_identity(my_address, my_fpr, PEP_OWN_USERID, my_name);
|
|
|
|
|
status = set_own_key(session, my_ident, my_fpr);
|
|
|
|
|
ASSERT_EQ(status, PEP_STATUS_OK);
|
|
|
|
|
|
|
|
|
|
const char* to_fpr = alice_fpr;
|
|
|
|
|
const char* to_name = "Alice Malice";
|
|
|
|
|
const char* to_address = "alice_malice@darthmama.cool";
|
|
|
|
|
pEp_identity* to_ident = new_identity(to_address, to_fpr, PEP_OWN_USERID, to_name);
|
|
|
|
|
status = set_identity(session, to_ident);
|
|
|
|
|
ASSERT_EQ(status, PEP_STATUS_OK);
|
|
|
|
|
|
|
|
|
|
message* msg = new_message(PEP_dir_outgoing);
|
|
|
|
|
msg->from = my_ident;
|
|
|
|
|
msg->to = new_identity_list(to_ident);
|
|
|
|
|
msg->shortmsg = strdup("This is an exciting message from Alice!");
|
|
|
|
|
msg->longmsg = strdup("Not\nVery\nExciting\n");
|
|
|
|
|
|
|
|
|
|
// Alice doesn't have a password, but we're gonna set one anyway
|
|
|
|
|
const char* pass = "wombat";
|
|
|
|
|
status = config_passphrase(session, pass);
|
|
|
|
|
ASSERT_EQ(status, PEP_STATUS_OK);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
message* enc_msg = NULL;
|
|
|
|
|
status = encrypt_message(session, msg, NULL, &enc_msg, PEP_enc_PGP_MIME, 0);
|
|
|
|
|
ASSERT_EQ(status, PEP_STATUS_OK);
|
|
|
|
|
ASSERT_NE(enc_msg, nullptr);
|
|
|
|
|
|
|
|
|
|
free_message(msg);
|
|
|
|
|
free_message(enc_msg);
|
|
|
|
|
free_stringlist(found_key);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
TEST_F(PassphraseTest, check_bob_primary_pass_subkey_no_passphrase_withpass_sign) {
|
|
|
|
|
ASSERT_TRUE(slurp_and_import_key(session, bob_filename));
|
|
|
|
|
stringlist_t* found_key = NULL;
|
|
|
|
|
PEP_STATUS status = find_keys(session, bob_fpr, &found_key);
|
|
|
|
|
ASSERT_EQ(status, PEP_STATUS_OK);
|
|
|
|
|
ASSERT_NE(found_key, nullptr);
|
|
|
|
|
ASSERT_NE(found_key->value, nullptr);
|
|
|
|
|
ASSERT_STREQ(found_key->value, bob_fpr);
|
|
|
|
|
ASSERT_EQ(found_key->next, nullptr);
|
|
|
|
|
|
|
|
|
|
const char* my_fpr = bob_fpr;
|
|
|
|
|
const char* my_name = "Bob Mob";
|
|
|
|
|
const char* my_address = "bob_mob@darthmama.cool";
|
|
|
|
|
pEp_identity* my_ident = new_identity(my_address, my_fpr, PEP_OWN_USERID, my_name);
|
|
|
|
|
status = set_own_key(session, my_ident, my_fpr);
|
|
|
|
|
ASSERT_EQ(status, PEP_STATUS_OK);
|
|
|
|
|
|
|
|
|
|
// Set up "to"
|
|
|
|
|
ASSERT_TRUE(slurp_and_import_key(session, alice_pub_filename));
|
|
|
|
|
const char* to_fpr = alice_fpr;
|
|
|
|
|
const char* to_name = "Alice Malice";
|
|
|
|
|
const char* to_address = "alice_malice@darthmama.cool";
|
|
|
|
|
pEp_identity* to_ident = new_identity(to_address, to_fpr, PEP_OWN_USERID, to_name);
|
|
|
|
|
status = set_identity(session, to_ident);
|
|
|
|
|
ASSERT_EQ(status, PEP_STATUS_OK);
|
|
|
|
|
|
|
|
|
|
message* msg = new_message(PEP_dir_outgoing);
|
|
|
|
|
msg->from = my_ident;
|
|
|
|
|
msg->to = new_identity_list(to_ident);
|
|
|
|
|
msg->shortmsg = strdup("This is an exciting message from Bob!");
|
|
|
|
|
msg->longmsg = strdup("Not\nVery\nExciting\n");
|
|
|
|
|
|
|
|
|
|
const char* pass = "bob";
|
|
|
|
|
status = config_passphrase(session, pass);
|
|
|
|
|
ASSERT_EQ(status, PEP_STATUS_OK);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
message* enc_msg = NULL;
|
|
|
|
|
status = encrypt_message(session, msg, NULL, &enc_msg, PEP_enc_PGP_MIME, 0);
|
|
|
|
|
ASSERT_EQ(status, PEP_STATUS_OK);
|
|
|
|
|
ASSERT_NE(enc_msg, nullptr);
|
|
|
|
|
|
|
|
|
|
#if PPTEST_DUMP
|
|
|
|
|
char* outdata = NULL;
|
|
|
|
|
mime_encode_message(enc_msg, false, &outdata, false);
|
|
|
|
|
dump_out("test_mails/signed_by_bob.eml", outdata);
|
|
|
|
|
free(outdata);
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
free_message(msg);
|
|
|
|
|
free_message(enc_msg);
|
|
|
|
|
free_stringlist(found_key);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
TEST_F(PassphraseTest, check_carol_primary_unenc_subkeys_passphrase_withpass_sign) {
|
|
|
|
|
ASSERT_TRUE(slurp_and_import_key(session, carol_filename));
|
|
|
|
|
stringlist_t* found_key = NULL;
|
|
|
|
|
PEP_STATUS status = find_keys(session, carol_fpr, &found_key);
|
|
|
|
|
ASSERT_EQ(status, PEP_STATUS_OK);
|
|
|
|
|
ASSERT_NE(found_key, nullptr);
|
|
|
|
|
ASSERT_NE(found_key->value, nullptr);
|
|
|
|
|
ASSERT_STREQ(found_key->value, carol_fpr);
|
|
|
|
|
ASSERT_EQ(found_key->next, nullptr);
|
|
|
|
|
|
|
|
|
|
const char* my_fpr = carol_fpr;
|
|
|
|
|
const char* my_name = "Carol Peril";
|
|
|
|
|
const char* my_address = "carol_peril@darthmama.cool";
|
|
|
|
|
pEp_identity* my_ident = new_identity(my_address, my_fpr, PEP_OWN_USERID, my_name);
|
|
|
|
|
status = set_own_key(session, my_ident, my_fpr);
|
|
|
|
|
ASSERT_EQ(status, PEP_STATUS_OK);
|
|
|
|
|
|
|
|
|
|
// Set up "to"
|
|
|
|
|
ASSERT_TRUE(slurp_and_import_key(session, alice_pub_filename));
|
|
|
|
|
const char* to_fpr = alice_fpr;
|
|
|
|
|
const char* to_name = "Alice Malice";
|
|
|
|
|
const char* to_address = "alice_malice@darthmama.cool";
|
|
|
|
|
pEp_identity* to_ident = new_identity(to_address, to_fpr, PEP_OWN_USERID, to_name);
|
|
|
|
|
status = set_identity(session, to_ident);
|
|
|
|
|
ASSERT_EQ(status, PEP_STATUS_OK);
|
|
|
|
|
|
|
|
|
|
message* msg = new_message(PEP_dir_outgoing);
|
|
|
|
|
msg->from = my_ident;
|
|
|
|
|
msg->to = new_identity_list(to_ident);
|
|
|
|
|
msg->shortmsg = strdup("This is an exciting message from Carol!");
|
|
|
|
|
msg->longmsg = strdup("Not\nVery\nExciting\n");
|
|
|
|
|
|
|
|
|
|
const char* pass = "carol";
|
|
|
|
|
status = config_passphrase(session, pass);
|
|
|
|
|
ASSERT_EQ(status, PEP_STATUS_OK);
|
|
|
|
|
|
|
|
|
|
message* enc_msg = NULL;
|
|
|
|
|
status = encrypt_message(session, msg, NULL, &enc_msg, PEP_enc_PGP_MIME, 0);
|
|
|
|
|
ASSERT_EQ(status, PEP_STATUS_OK);
|
|
|
|
|
ASSERT_NE(enc_msg, nullptr);
|
|
|
|
|
|
|
|
|
|
free_message(msg);
|
|
|
|
|
free_message(enc_msg);
|
|
|
|
|
free_stringlist(found_key);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
TEST_F(PassphraseTest, check_david_primary_unenc_sign_and_encrypt_diff_pass_two_sign_unencrypted_withpass_sign) {
|
|
|
|
|
ASSERT_TRUE(slurp_and_import_key(session, david_filename));
|
|
|
|
|
stringlist_t* found_key = NULL;
|
|
|
|
|
PEP_STATUS status = find_keys(session, david_fpr, &found_key);
|
|
|
|
|
ASSERT_EQ(status, PEP_STATUS_OK);
|
|
|
|
|
ASSERT_NE(found_key, nullptr);
|
|
|
|
|
ASSERT_NE(found_key->value, nullptr);
|
|
|
|
|
ASSERT_STREQ(found_key->value, david_fpr);
|
|
|
|
|
ASSERT_EQ(found_key->next, nullptr);
|
|
|
|
|
|
|
|
|
|
const char* my_fpr = david_fpr;
|
|
|
|
|
const char* my_name = "Dave Rave";
|
|
|
|
|
const char* my_address = "dave_rave@darthmama.cool";
|
|
|
|
|
pEp_identity* my_ident = new_identity(my_address, my_fpr, PEP_OWN_USERID, my_name);
|
|
|
|
|
status = set_own_key(session, my_ident, my_fpr);
|
|
|
|
|
ASSERT_EQ(status, PEP_STATUS_OK);
|
|
|
|
|
|
|
|
|
|
// Set up "to"
|
|
|
|
|
ASSERT_TRUE(slurp_and_import_key(session, alice_pub_filename));
|
|
|
|
|
const char* to_fpr = alice_fpr;
|
|
|
|
|
const char* to_name = "Alice Malice";
|
|
|
|
|
const char* to_address = "alice_malice@darthmama.cool";
|
|
|
|
|
pEp_identity* to_ident = new_identity(to_address, to_fpr, PEP_OWN_USERID, to_name);
|
|
|
|
|
status = set_identity(session, to_ident);
|
|
|
|
|
ASSERT_EQ(status, PEP_STATUS_OK);
|
|
|
|
|
|
|
|
|
|
message* msg = new_message(PEP_dir_outgoing);
|
|
|
|
|
msg->from = my_ident;
|
|
|
|
|
msg->to = new_identity_list(to_ident);
|
|
|
|
|
msg->shortmsg = strdup("This is an exciting message from David!");
|
|
|
|
|
msg->longmsg = strdup("Not\nVery\nExciting\n");
|
|
|
|
|
|
|
|
|
|
const char* pass = "sign";
|
|
|
|
|
status = config_passphrase(session, pass);
|
|
|
|
|
ASSERT_EQ(status, PEP_STATUS_OK);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
message* enc_msg = NULL;
|
|
|
|
|
status = encrypt_message(session, msg, NULL, &enc_msg, PEP_enc_PGP_MIME, 0);
|
|
|
|
|
ASSERT_EQ(status, PEP_STATUS_OK);
|
|
|
|
|
ASSERT_NE(enc_msg, nullptr);
|
|
|
|
|
|
|
|
|
|
free_message(msg);
|
|
|
|
|
free_message(enc_msg);
|
|
|
|
|
free_stringlist(found_key);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
TEST_F(PassphraseTest, check_erwin_primary_enc_subkey_encrypted_plus_unenc_sign_withpass_sign) {
|
|
|
|
|
ASSERT_TRUE(slurp_and_import_key(session, erwin_filename));
|
|
|
|
|
stringlist_t* found_key = NULL;
|
|
|
|
|
PEP_STATUS status = find_keys(session, erwin_fpr, &found_key);
|
|
|
|
|
ASSERT_EQ(status, PEP_STATUS_OK);
|
|
|
|
|
ASSERT_NE(found_key, nullptr);
|
|
|
|
|
ASSERT_NE(found_key->value, nullptr);
|
|
|
|
|
ASSERT_STREQ(found_key->value, erwin_fpr);
|
|
|
|
|
ASSERT_EQ(found_key->next, nullptr);
|
|
|
|
|
|
|
|
|
|
const char* my_fpr = erwin_fpr;
|
|
|
|
|
const char* my_name = "Irv Nerve";
|
|
|
|
|
const char* my_address = "irv_nerve@darthmama.cool";
|
|
|
|
|
pEp_identity* my_ident = new_identity(my_address, my_fpr, PEP_OWN_USERID, my_name);
|
|
|
|
|
status = set_own_key(session, my_ident, my_fpr);
|
|
|
|
|
ASSERT_EQ(status, PEP_STATUS_OK);
|
|
|
|
|
|
|
|
|
|
// Set up "to"
|
|
|
|
|
ASSERT_TRUE(slurp_and_import_key(session, alice_pub_filename));
|
|
|
|
|
const char* to_fpr = alice_fpr;
|
|
|
|
|
const char* to_name = "Alice Malice";
|
|
|
|
|
const char* to_address = "alice_malice@darthmama.cool";
|
|
|
|
|
pEp_identity* to_ident = new_identity(to_address, to_fpr, PEP_OWN_USERID, to_name);
|
|
|
|
|
status = set_identity(session, to_ident);
|
|
|
|
|
ASSERT_EQ(status, PEP_STATUS_OK);
|
|
|
|
|
|
|
|
|
|
message* msg = new_message(PEP_dir_outgoing);
|
|
|
|
|
msg->from = my_ident;
|
|
|
|
|
msg->to = new_identity_list(to_ident);
|
|
|
|
|
msg->shortmsg = strdup("This is an exciting message from Erwin!");
|
|
|
|
|
msg->longmsg = strdup("Not\nVery\nExciting\n");
|
|
|
|
|
|
|
|
|
|
const char* pass = "erwin";
|
|
|
|
|
status = config_passphrase(session, pass);
|
|
|
|
|
ASSERT_EQ(status, PEP_STATUS_OK);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
message* enc_msg = NULL;
|
|
|
|
|
status = encrypt_message(session, msg, NULL, &enc_msg, PEP_enc_PGP_MIME, 0);
|
|
|
|
|
ASSERT_EQ(status, PEP_STATUS_OK);
|
|
|
|
|
ASSERT_NE(enc_msg, nullptr);
|
|
|
|
|
|
|
|
|
|
free_message(msg);
|
|
|
|
|
free_message(enc_msg);
|
|
|
|
|
free_stringlist(found_key);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
TEST_F(PassphraseTest, check_carol_primary_unenc_subkeys_passphrase_withpass_decrypt) {
|
|
|
|
|
ASSERT_TRUE(slurp_and_import_key(session, carol_filename));
|
|
|
|
|
stringlist_t* found_key = NULL;
|
|
|
|
|
PEP_STATUS status = find_keys(session, carol_fpr, &found_key);
|
|
|
|
|
ASSERT_EQ(status, PEP_STATUS_OK);
|
|
|
|
|
ASSERT_NE(found_key, nullptr);
|
|
|
|
|
ASSERT_NE(found_key->value, nullptr);
|
|
|
|
|
ASSERT_STREQ(found_key->value, carol_fpr);
|
|
|
|
|
ASSERT_EQ(found_key->next, nullptr);
|
|
|
|
|
|
|
|
|
|
const char* my_fpr = carol_fpr;
|
|
|
|
|
const char* my_name = "Carol Peril";
|
|
|
|
|
const char* my_address = "carol_peril@darthmama.cool";
|
|
|
|
|
pEp_identity* my_ident = new_identity(my_address, my_fpr, PEP_OWN_USERID, my_name);
|
|
|
|
|
status = set_own_key(session, my_ident, my_fpr);
|
|
|
|
|
ASSERT_EQ(status, PEP_STATUS_OK);
|
|
|
|
|
|
|
|
|
|
// Set up "to"
|
|
|
|
|
ASSERT_TRUE(slurp_and_import_key(session, alice_pub_filename));
|
|
|
|
|
const char* to_fpr = alice_fpr;
|
|
|
|
|
const char* to_name = "Alice Malice";
|
|
|
|
|
const char* to_address = "alice_malice@darthmama.cool";
|
|
|
|
|
pEp_identity* to_ident = new_identity(to_address, to_fpr, PEP_OWN_USERID, to_name);
|
|
|
|
|
status = set_identity(session, to_ident);
|
|
|
|
|
ASSERT_EQ(status, PEP_STATUS_OK);
|
|
|
|
|
|
|
|
|
|
string msg = slurp("test_mails/encrypt_to_carol.eml");
|
|
|
|
|
char* decrypted_msg = NULL;
|
|
|
|
|
char* modified_src = NULL;
|
|
|
|
|
stringlist_t* keylist_used = NULL;
|
|
|
|
|
PEP_rating rating;
|
|
|
|
|
PEP_decrypt_flags_t flags = 0;
|
|
|
|
|
status = MIME_decrypt_message(session, msg.c_str(), msg.size(), &decrypted_msg, &keylist_used, &rating, &flags, &modified_src);
|
|
|
|
|
ASSERT_EQ(status, PEP_STATUS_OK);
|
|
|
|
|
ASSERT_NE(decrypted_msg, nullptr);
|
|
|
|
|
|
|
|
|
|
const char* pass = "carol";
|
|
|
|
|
status = config_passphrase(session, pass);
|
|
|
|
|
ASSERT_EQ(status, PEP_STATUS_OK);
|
|
|
|
|
|
|
|
|
|
free(decrypted_msg);
|
|
|
|
|
free(modified_src);
|
|
|
|
|
free_stringlist(keylist_used);
|
|
|
|
|
}
|
|
|
|
|