ENGINE-423: testing added, but not complete - need to now fix issues with encrypt_message modifying source message. ENGINE-423
authorKrista Bennett <krista@pep-project.org>
Fri, 20 Apr 2018 10:58:08 +0200
branchENGINE-423
changeset 261613e9725995f2
parent 2615 5cd3625e0d91
child 2617 fdbb28063368
child 2619 30069aa9bd79
ENGINE-423: testing added, but not complete - need to now fix issues with encrypt_message modifying source message.
src/message_api.c
test/reencrypt_plus_extra_keys_test.cc
test/test_keys/priv/reencrypt_extra_keys_0-0x828AA789_priv.asc
test/test_keys/priv/reencrypt_extra_keys_1-0x8B026AEC_priv.asc
test/test_keys/priv/reencrypt_other_recip_0-0x1F4A5986_priv.asc
test/test_keys/priv/reencrypt_other_recip_1-0x0F8273D8_priv.asc
test/test_keys/priv/reencrypt_other_recip_2-0x1EDBE691_priv.asc
test/test_keys/priv/reencrypt_recip_0-0xB1A2BE89_priv.asc
test/test_keys/priv/reencrypt_recip_numero_deux_test_0-0xD6E75FFF_priv.asc
test/test_keys/priv/reencrypt_sender_0-0x3B508C8E_priv.asc
test/test_keys/pub/reencrypt_extra_keys_0-0x828AA789_pub.asc
test/test_keys/pub/reencrypt_extra_keys_1-0x8B026AEC_pub.asc
test/test_keys/pub/reencrypt_other_recip_0-0x1F4A5986_pub.asc
test/test_keys/pub/reencrypt_other_recip_1-0x0F8273D8_pub.asc
test/test_keys/pub/reencrypt_other_recip_2-0x1EDBE691_pub.asc
test/test_keys/pub/reencrypt_recip_0-0xB1A2BE89_pub.asc
test/test_keys/pub/reencrypt_recip_numero_deux_test_0-0xD6E75FFF_pub.asc
test/test_keys/pub/reencrypt_sender_0-0x3B508C8E_pub.asc
test/test_mails/reencrypt_BCC_sent_by_enigmail.eml
test/test_mails/reencrypt_encrypted_through_pEp.eml
test/test_mails/reencrypt_sent_by_enigmail.eml
     1.1 --- a/src/message_api.c	Thu Apr 19 16:03:44 2018 +0200
     1.2 +++ b/src/message_api.c	Fri Apr 20 10:58:08 2018 +0200
     1.3 @@ -3325,10 +3325,10 @@
     1.4  
     1.5      *dst = msg;
     1.6      *keylist = _keylist;
     1.7 -    message* reencrypt_msg;
     1.8  
     1.9      if (reencrypt) {
    1.10          if (decrypt_status == PEP_DECRYPTED || decrypt_status == PEP_DECRYPTED_AND_VERIFIED) {
    1.11 +            message* reencrypt_msg = NULL;
    1.12              PEP_STATUS reencrypt_status = PEP_CANNOT_REENCRYPT;
    1.13              char* own_id = NULL;
    1.14              status = get_default_own_userid(session, &own_id);
    1.15 @@ -3340,7 +3340,6 @@
    1.16                      pEp_identity* target_id = new_identity(NULL, target_own_fpr, 
    1.17                                                             own_id, NULL);
    1.18                      if (target_id) {
    1.19 -                        *dst = NULL;
    1.20                          reencrypt_status = encrypt_message_for_self(session, target_id, msg,
    1.21                                                                      extra, &reencrypt_msg, PEP_enc_PGP_MIME,
    1.22                                                                      0);
     2.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     2.2 +++ b/test/reencrypt_plus_extra_keys_test.cc	Fri Apr 20 10:58:08 2018 +0200
     2.3 @@ -0,0 +1,432 @@
     2.4 +// This file is under GNU General Public License 3.0
     2.5 +// see LICENSE.txt
     2.6 +
     2.7 +#include <stdlib.h>
     2.8 +#include <string.h>
     2.9 +#include "platform.h"
    2.10 +#include <iostream>
    2.11 +#include <fstream>
    2.12 +#include <assert.h>
    2.13 +#include "mime.h"
    2.14 +#include "message_api.h"
    2.15 +#include "keymanagement.h"
    2.16 +#include "test_util.h"
    2.17 +
    2.18 +using namespace std;
    2.19 +
    2.20 +int main() {
    2.21 +    cout << "\n*** reencrypt_plus_extra_keys_test ***\n\n";
    2.22 +
    2.23 +    PEP_SESSION session;
    2.24 +    
    2.25 +    cout << "calling init()\n";
    2.26 +    PEP_STATUS status = init(&session);
    2.27 +    assert(status == PEP_STATUS_OK);
    2.28 +    assert(session);
    2.29 +    cout << "init() completed.\n";
    2.30 +
    2.31 +    /* import all the keys */
    2.32 +    const char* fpr_own_recip_key = "85D022E0CC9BA9F6B922CA7B638E5211B1A2BE89";
    2.33 +    const char* fpr_own_recip_2_key = "7A2EEB933E6FD99207B83E397B6D3751D6E75FFF";
    2.34 +    
    2.35 +    const char* fpr_sender_pub_key = "95FE24B262A34FA5C6A8D0AAF90144FC3B508C8E";
    2.36 +    const char* fpr_recip_2_pub_key = "60701073D138EF622C8F9221B6FC86831EDBE691";
    2.37 +    const char* fpr_recip_0_pub_key = "CDF787C7C9664E02825DD416C6FBCF8D1F4A5986";
    2.38 +    // we're leaving recip_1 out for the Hell of it - D3886D0DF75113BE2799C9374D6B99FE0F8273D8
    2.39 +    const char* fpr_pub_extra_key_0 = "33BB6C92EBFB6F29641C75B5B79D916C828AA789";
    2.40 +    const char* fpr_pub_extra_key_1 = "3DB93A746785FDD6110798AB3B193A9E8B026AEC";
    2.41 +
    2.42 +    const string own_recip_pub_key = slurp("test_keys/pub/reencrypt_recip_0-0xB1A2BE89_pub.asc");
    2.43 +    const string own_recip_priv_key = slurp("test_keys/priv/reencrypt_recip_0-0xB1A2BE89_priv.asc");
    2.44 +    const string own_recip_2_pub_key = slurp("test_keys/pub/reencrypt_recip_numero_deux_test_0-0xD6E75FFF_pub.asc");
    2.45 +    const string own_recip_2_priv_key = slurp("test_keys/priv/reencrypt_recip_numero_deux_test_0-0xD6E75FFF_priv.asc");
    2.46 +    
    2.47 +    const string sender_pub_key = slurp("test_keys/pub/reencrypt_sender_0-0x3B508C8E_pub.asc");
    2.48 +    const string recip_2_pub_key = slurp("test_keys/pub/reencrypt_other_recip_2-0x1EDBE691_pub.asc");
    2.49 +    const string recip_0_pub_key = slurp("test_keys/pub/reencrypt_other_recip_0-0x1F4A5986_pub.asc");
    2.50 +    // we're leaving recip_1 out for the Hell of it
    2.51 +    const string pub_extra_key_0 = slurp("test_keys/pub/reencrypt_extra_keys_0-0x828AA789_pub.asc");
    2.52 +    const string pub_extra_key_1 = slurp("test_keys/pub/reencrypt_extra_keys_1-0x8B026AEC_pub.asc");
    2.53 +
    2.54 +    status = import_key(session, own_recip_pub_key.c_str(), own_recip_pub_key.length(), NULL);
    2.55 +    assert (status == PEP_STATUS_OK);
    2.56 +    status = import_key(session, own_recip_priv_key.c_str(), own_recip_priv_key.length(), NULL);
    2.57 +    assert (status == PEP_STATUS_OK);    
    2.58 +    status = import_key(session, own_recip_2_pub_key.c_str(), own_recip_2_pub_key.length(), NULL);
    2.59 +    assert (status == PEP_STATUS_OK);
    2.60 +    status = import_key(session, own_recip_2_priv_key.c_str(), own_recip_2_priv_key.length(), NULL);
    2.61 +    assert (status == PEP_STATUS_OK);
    2.62 +    
    2.63 +    status = import_key(session, sender_pub_key.c_str(), sender_pub_key.length(), NULL);
    2.64 +    assert (status == PEP_STATUS_OK);
    2.65 +    status = import_key(session, recip_2_pub_key.c_str(), recip_2_pub_key.length(), NULL);
    2.66 +    assert (status == PEP_STATUS_OK);
    2.67 +    status = import_key(session, recip_0_pub_key.c_str(), recip_0_pub_key.length(), NULL);
    2.68 +    assert (status == PEP_STATUS_OK);
    2.69 +    status = import_key(session, pub_extra_key_0.c_str(), pub_extra_key_0.length(), NULL);
    2.70 +    assert (status == PEP_STATUS_OK);
    2.71 +    status = import_key(session, pub_extra_key_1.c_str(), pub_extra_key_1.length(), NULL);
    2.72 +    assert (status == PEP_STATUS_OK);
    2.73 +
    2.74 +    cout << "Keys imported." << endl;
    2.75 +
    2.76 +    pEp_identity* me_recip_1 = new_identity("reencrypt_recip@darthmama.cool", fpr_own_recip_key, PEP_OWN_USERID, "Me Recipient");
    2.77 +    pEp_identity* me_recip_2 = new_identity("reencrypt_recip_numero_deux_test@darthmama.org", fpr_own_recip_2_key, PEP_OWN_USERID, "Me Recipient");
    2.78 +    
    2.79 +    cout << "Inserting own identities and keys into database." << endl;
    2.80 +    status = set_own_key(session, me_recip_1, fpr_own_recip_key);
    2.81 +    assert(status == PEP_STATUS_OK);
    2.82 +    status = set_own_key(session, me_recip_2, fpr_own_recip_2_key);
    2.83 +    assert(status == PEP_STATUS_OK);
    2.84 +    cout << "Done: inserting own identities and keys into database." << endl;
    2.85 +
    2.86 +    const string to_reencrypt_from_enigmail = slurp("test_mails/reencrypt_sent_by_enigmail.eml");
    2.87 +    const string to_reencrypt_from_enigmail_BCC = slurp("test_mails/reencrypt_BCC_sent_by_enigmail.eml");
    2.88 +    const string to_reencrypt_from_pEp = slurp("test_mails/reencrypt_encrypted_through_pEp.eml");
    2.89 +
    2.90 +    cout << "Calling MIME_decrypt_message with reencrypt flag set on message sent from enigmail with no extra keys." << endl;
    2.91 +    
    2.92 +    char* decrypted_text = nullptr;
    2.93 +    
    2.94 +    // In: extra keys; Out: keys that were used to encrypt this.
    2.95 +    stringlist_t* keys = NULL;
    2.96 +    PEP_decrypt_flags_t flags;
    2.97 +    PEP_rating rating;
    2.98 +
    2.99 +    flags = PEP_decrypt_flag_untrusted_server;
   2.100 +    
   2.101 +    status = MIME_decrypt_message(session,
   2.102 +                                  to_reencrypt_from_enigmail.c_str(),
   2.103 +                                  to_reencrypt_from_enigmail.size(),
   2.104 +                                  &decrypted_text,
   2.105 +                                  &keys,
   2.106 +                                  &rating,
   2.107 +                                  &flags);
   2.108 +
   2.109 +    cout << decrypted_text << endl;
   2.110 +
   2.111 +    cout << "Status is " << tl_status_string(status) << endl;
   2.112 +    assert(decrypted_text);
   2.113 +    assert(rating);
   2.114 +
   2.115 +    free(decrypted_text);
   2.116 +    decrypted_text = nullptr;
   2.117 +
   2.118 +    cout << "Calling MIME_decrypt_message with reencrypt flag set on message sent from enigmail extra keys." << endl;
   2.119 +        
   2.120 +    // In: extra keys; Out: keys that were used to encrypt this.
   2.121 +    free_stringlist(keys);
   2.122 +    keys = new_stringlist(fpr_pub_extra_key_0);
   2.123 +    stringlist_add(keys, fpr_pub_extra_key_1);    
   2.124 +
   2.125 +    flags = PEP_decrypt_flag_untrusted_server;
   2.126 +    
   2.127 +    status = MIME_decrypt_message(session,
   2.128 +                                  to_reencrypt_from_enigmail.c_str(),
   2.129 +                                  to_reencrypt_from_enigmail.size(),
   2.130 +                                  &decrypted_text,
   2.131 +                                  &keys,
   2.132 +                                  &rating,
   2.133 +                                  &flags);
   2.134 +
   2.135 +    cout << decrypted_text << endl;
   2.136 +    cout << "Status is " << tl_status_string(status) << endl;
   2.137 +
   2.138 +
   2.139 +    assert(decrypted_text);
   2.140 +    assert(rating);
   2.141 +
   2.142 +    free(decrypted_text);
   2.143 +    decrypted_text = nullptr;
   2.144 +
   2.145 +
   2.146 +    cout << "Calling MIME_decrypt_message with reencrypt flag set on message sent with recip 2 in BCC from enigmail with no extra keys." << endl;
   2.147 +
   2.148 +    free_stringlist(keys);
   2.149 +    keys = NULL;
   2.150 +
   2.151 +    flags = PEP_decrypt_flag_untrusted_server;
   2.152 +    
   2.153 +    status = MIME_decrypt_message(session,
   2.154 +                                  to_reencrypt_from_enigmail.c_str(),
   2.155 +                                  to_reencrypt_from_enigmail.size(),
   2.156 +                                  &decrypted_text,
   2.157 +                                  &keys,
   2.158 +                                  &rating,
   2.159 +                                  &flags);
   2.160 +
   2.161 +    cout << decrypted_text << endl;
   2.162 +    cout << "Status is " << tl_status_string(status) << endl;
   2.163 +
   2.164 +
   2.165 +    assert(decrypted_text);
   2.166 +    assert(rating);
   2.167 +
   2.168 +    free(decrypted_text);
   2.169 +    decrypted_text = nullptr;
   2.170 +
   2.171 +
   2.172 +    cout << "Calling MIME_decrypt_message with reencrypt flag set on message sent with recip 2 in BCC from enigmail with extra keys." << endl;
   2.173 +
   2.174 +    free_stringlist(keys);
   2.175 +    keys = new_stringlist(fpr_pub_extra_key_0);
   2.176 +    stringlist_add(keys, fpr_pub_extra_key_1);    
   2.177 +
   2.178 +    flags = PEP_decrypt_flag_untrusted_server;
   2.179 +    
   2.180 +    status = MIME_decrypt_message(session,
   2.181 +                                  to_reencrypt_from_enigmail.c_str(),
   2.182 +                                  to_reencrypt_from_enigmail.size(),
   2.183 +                                  &decrypted_text,
   2.184 +                                  &keys,
   2.185 +                                  &rating,
   2.186 +                                  &flags);
   2.187 +
   2.188 +    cout << decrypted_text << endl;
   2.189 +    cout << "Status is " << tl_status_string(status) << endl;
   2.190 +
   2.191 +
   2.192 +    assert(decrypted_text);
   2.193 +    assert(rating);
   2.194 +
   2.195 +    free(decrypted_text);
   2.196 +    decrypted_text = nullptr;
   2.197 +
   2.198 +
   2.199 +
   2.200 +    cout << "Calling MIME_decrypt_message with reencrypt flag set on message generated by pEp (message 2.0) with no extra keys." << endl;
   2.201 +    free_stringlist(keys);
   2.202 +    keys = NULL;
   2.203 +
   2.204 +    flags = PEP_decrypt_flag_untrusted_server;
   2.205 +    
   2.206 +    status = MIME_decrypt_message(session,
   2.207 +                                  to_reencrypt_from_enigmail.c_str(),
   2.208 +                                  to_reencrypt_from_enigmail.size(),
   2.209 +                                  &decrypted_text,
   2.210 +                                  &keys,
   2.211 +                                  &rating,
   2.212 +                                  &flags);
   2.213 +
   2.214 +    cout << decrypted_text << endl;
   2.215 +    cout << "Status is " << tl_status_string(status) << endl;
   2.216 +
   2.217 +
   2.218 +    assert(decrypted_text);
   2.219 +    assert(rating);
   2.220 +
   2.221 +    free(decrypted_text);
   2.222 +    decrypted_text = nullptr;
   2.223 +
   2.224 +    cout << "Calling MIME_decrypt_message with reencrypt flag set on message generated by pEp (message 2.0) with extra keys." << endl;
   2.225 +
   2.226 +    free_stringlist(keys);
   2.227 +    keys = new_stringlist(fpr_pub_extra_key_0);
   2.228 +    stringlist_add(keys, fpr_pub_extra_key_1);    
   2.229 +
   2.230 +    flags = PEP_decrypt_flag_untrusted_server;
   2.231 +    
   2.232 +    status = MIME_decrypt_message(session,
   2.233 +                                  to_reencrypt_from_enigmail.c_str(),
   2.234 +                                  to_reencrypt_from_enigmail.size(),
   2.235 +                                  &decrypted_text,
   2.236 +                                  &keys,
   2.237 +                                  &rating,
   2.238 +                                  &flags);
   2.239 +
   2.240 +    cout << decrypted_text << endl;
   2.241 +    cout << "Status is " << tl_status_string(status) << endl;
   2.242 +
   2.243 +
   2.244 +    assert(decrypted_text);
   2.245 +    assert(rating);
   2.246 +
   2.247 +    free(decrypted_text);
   2.248 +    decrypted_text = nullptr;
   2.249 +
   2.250 +    // message* decrypted_msg = nullptr;
   2.251 +    // stringlist_t* keylist_used = nullptr;
   2.252 +    // 
   2.253 +    // PEP_rating rating;
   2.254 +    // PEP_decrypt_flags_t flags;
   2.255 +    // 
   2.256 +    // flags = 0;
   2.257 +    // status = decrypt_message(session, encrypted_msg, &decrypted_msg, &keylist_used, &rating, &flags);
   2.258 +    // assert(decrypted_msg);
   2.259 +    // assert(keylist_used);
   2.260 +    // assert(rating);
   2.261 +    // assert(status == PEP_DECRYPTED && rating == PEP_rating_unreliable);
   2.262 +    // PEP_comm_type ct = encrypted_msg->from->comm_type;
   2.263 +    // assert(ct == PEP_ct_pEp || ct == PEP_ct_pEp_unconfirmed || ct == PEP_ct_OpenPGP || ct == PEP_ct_OpenPGP_unconfirmed );
   2.264 +    // 
   2.265 +    // cout << "keys used:\n";
   2.266 +    // 
   2.267 +    // int i = 0;
   2.268 +    // 
   2.269 +    // for (stringlist_t* kl4 = keylist_used; kl4 && kl4->value; kl4 = kl4->next, i++)
   2.270 +    // {
   2.271 +    //     if (i == 0)
   2.272 +    //         assert(strcasecmp("",kl4->value) == 0);
   2.273 +    //     else {
   2.274 +    //         cout << "\t " << kl4->value << endl;
   2.275 +    //         assert(strcasecmp("4ABE3AAF59AC32CFE4F86500A9411D176FF00E97", kl4->value) == 0);
   2.276 +    //         cout << "Encrypted for Alice! Yay! It worked!" << endl;
   2.277 +    //     }
   2.278 +    //     assert(i < 2);
   2.279 +    // }
   2.280 +    // cout << "Encrypted ONLY for Alice! Test passed. Move along. These are not the bugs you are looking for." << endl;
   2.281 + 
   2.282 +    // cout << "freeing messages…\n";
   2.283 +    // free_message(encrypted_msg);
   2.284 +    // free_message(decrypted_msg);
   2.285 +    // free_stringlist (keylist_used);
   2.286 +    // cout << "done.\n";
   2.287 +    // 
   2.288 +    // cout << "Now encrypt for self with extra keys." << endl;
   2.289 +    // stringlist_t* extra_keys = new_stringlist(gabrielle_fpr);
   2.290 +    // stringlist_add(extra_keys, bella_fpr);
   2.291 +    // encrypted_msg = NULL;
   2.292 +    // decrypted_msg = NULL;
   2.293 +    // keylist_used = NULL;
   2.294 +    // 
   2.295 +    // cout << "calling encrypt_message_for_identity()\n";
   2.296 +    // status = encrypt_message_for_self(session, alice, outgoing_message, extra_keys, &encrypted_msg, PEP_enc_PGP_MIME, PEP_encrypt_flag_force_unsigned | PEP_encrypt_flag_force_no_attached_key);
   2.297 +    // cout << "encrypt_message() returns " << std::hex << status << '.' << endl;
   2.298 +    // assert(status == PEP_STATUS_OK);
   2.299 +    // assert(encrypted_msg);
   2.300 +    // cout << "message encrypted.\n";
   2.301 +    // 
   2.302 +    // flags = 0;
   2.303 +    // status = decrypt_message(session, encrypted_msg, &decrypted_msg, &keylist_used, &rating, &flags);
   2.304 +    // assert(decrypted_msg);
   2.305 +    // assert(keylist_used);
   2.306 +    // assert(rating);
   2.307 +    // assert(status == PEP_DECRYPTED && rating == PEP_rating_unreliable);
   2.308 +    // ct = encrypted_msg->from->comm_type;
   2.309 +    // assert(ct == PEP_ct_pEp || ct == PEP_ct_pEp_unconfirmed || ct == PEP_ct_OpenPGP || ct == PEP_ct_OpenPGP_unconfirmed );
   2.310 +    // 
   2.311 +    // cout << "keys used:\n";
   2.312 +    // 
   2.313 +    // for (stringlist_t* incoming_kl = extra_keys; incoming_kl && incoming_kl->value; incoming_kl = incoming_kl->next) {
   2.314 +    //     bool found = false;
   2.315 +    //     cout << "Encrypted for: ";
   2.316 +    //     for (stringlist_t* kl4 = keylist_used; kl4 && kl4->value; kl4 = kl4->next, i++) {
   2.317 +    //         if (strcasecmp(incoming_kl->value, kl4->value) == 0) {
   2.318 +    //             cout << "\t " << kl4->value;
   2.319 +    //             found = true;
   2.320 +    //             break;
   2.321 +    //         }
   2.322 +    //     }
   2.323 +    //     cout << endl;
   2.324 +    //     assert(found);
   2.325 +    // }
   2.326 +    // cout << "Encrypted for all the extra keys!" << endl;
   2.327 +    // 
   2.328 +    // bool found = false;
   2.329 +    // for (stringlist_t* kl4 = keylist_used; kl4 && kl4->value; kl4 = kl4->next)
   2.330 +    // {
   2.331 +    //     if (strcasecmp(alice_fpr, kl4->value) == 0) {
   2.332 +    //         found = true;
   2.333 +    //         cout << "Encrypted also for Alice! Yay!" << endl;
   2.334 +    //         break;
   2.335 +    //     }
   2.336 +    // }
   2.337 +    // assert(found);
   2.338 +    // 
   2.339 +    // free_message(encrypted_msg);
   2.340 +    // encrypted_msg = NULL;
   2.341 +    // free_message(decrypted_msg);
   2.342 +    // decrypted_msg = NULL;
   2.343 +    // free_stringlist(keylist_used);
   2.344 +    // keylist_used = NULL;
   2.345 +    // 
   2.346 +    // cout << "Now add a bad fpr." << endl;
   2.347 +    // 
   2.348 +    // stringlist_add(extra_keys, nobody_fpr);
   2.349 +    // 
   2.350 +    // cout << "calling encrypt_message_for_identity()\n";
   2.351 +    // status = encrypt_message_for_self(session, alice, outgoing_message, extra_keys, &encrypted_msg, PEP_enc_PGP_MIME, PEP_encrypt_flag_force_unsigned | PEP_encrypt_flag_force_no_attached_key);
   2.352 +    // cout << "encrypt_message() returns " << std::hex << status << '.' << endl;
   2.353 +    // assert(status != PEP_STATUS_OK);
   2.354 +    // 
   2.355 +    // free_message(outgoing_message);
   2.356 +    // outgoing_message = NULL;
   2.357 +    // free_message(encrypted_msg);
   2.358 +    // encrypted_msg = NULL;
   2.359 +    // free_message(decrypted_msg);
   2.360 +    // decrypted_msg = NULL;
   2.361 +    // free_stringlist(keylist_used);
   2.362 +    // keylist_used = NULL;
   2.363 +    // 
   2.364 +    // 
   2.365 +    // cout << "*** Now testing MIME_encrypt_for_self ***" << endl;
   2.366 +    // 
   2.367 +    // alice = new_identity("pep.test.alice@pep-project.org", NULL, PEP_OWN_USERID, "Alice Test");
   2.368 +    // bob = new_identity("pep.test.bob@pep-project.org", NULL, "42", "Bob Test");
   2.369 +    // 
   2.370 +    // cout << "Reading in alice_bob_encrypt_test_plaintext_mime.eml..." << endl;
   2.371 +    // 
   2.372 +    // const string mimetext = slurp("test_mails/alice_bob_encrypt_test_plaintext_mime.eml");
   2.373 +    // 
   2.374 +    // cout << "Text read:" << endl;
   2.375 +    // cout << mimetext.c_str() << endl;
   2.376 +    // char* encrypted_mimetext = nullptr;
   2.377 +    // 
   2.378 +    // cout << "Calling MIME_encrypt_message_for_self" << endl;
   2.379 +    // status = MIME_encrypt_message_for_self(session, alice, mimetext.c_str(),
   2.380 +    //                                        mimetext.size(), 
   2.381 +    //                                        NULL,
   2.382 +    //                                        &encrypted_mimetext, 
   2.383 +    //                                        PEP_enc_PGP_MIME, 
   2.384 +    //                                        PEP_encrypt_flag_force_unsigned | PEP_encrypt_flag_force_no_attached_key);
   2.385 +    // 
   2.386 +    // cout << "Encrypted message:" << endl;
   2.387 +    // cout << encrypted_mimetext << endl;
   2.388 +    // 
   2.389 +    // cout << "Calling MIME_decrypt_message" << endl;
   2.390 +    // 
   2.391 +    // char* decrypted_mimetext = nullptr;
   2.392 +    // free_stringlist(keylist_used);
   2.393 +    // keylist_used = nullptr;
   2.394 +    // PEP_decrypt_flags_t mimeflags;
   2.395 +    // PEP_rating mimerating;
   2.396 +    // 
   2.397 +    // mimeflags = 0;
   2.398 +    // status = MIME_decrypt_message(session,
   2.399 +    //                               encrypted_mimetext,
   2.400 +    //                               strlen(encrypted_mimetext),
   2.401 +    //                               &decrypted_mimetext,
   2.402 +    //                               &keylist_used,
   2.403 +    //                               &mimerating,
   2.404 +    //                               &mimeflags);
   2.405 +    // 
   2.406 +    // assert(decrypted_mimetext);
   2.407 +    // assert(keylist_used);
   2.408 +    // assert(mimerating);
   2.409 +    //                          
   2.410 +    // assert(status == PEP_DECRYPTED && mimerating == PEP_rating_unreliable);
   2.411 +    // 
   2.412 +    // cout << "Decrypted message:" << endl;
   2.413 +    // cout << decrypted_mimetext << endl;
   2.414 +    // 
   2.415 +    // cout << "keys used:\n";
   2.416 +    // 
   2.417 +    // i = 0;
   2.418 +    // 
   2.419 +    // for (stringlist_t* kl4 = keylist_used; kl4 && kl4->value; kl4 = kl4->next, i++)
   2.420 +    // {
   2.421 +    //     if (i == 0)
   2.422 +    //         assert(strcasecmp("",kl4->value) == 0);
   2.423 +    //     else {
   2.424 +    //         cout << "\t " << kl4->value << endl;
   2.425 +    //         assert(strcasecmp("4ABE3AAF59AC32CFE4F86500A9411D176FF00E97", kl4->value) == 0);
   2.426 +    //         cout << "Encrypted for Alice! Yay! It worked!" << endl;
   2.427 +    //     }
   2.428 +    //     assert(i < 2);
   2.429 +    // }
   2.430 +    // cout << "Encrypted ONLY for Alice! Test passed. Move along. These are not the bugs you are looking for." << endl;
   2.431 +    
   2.432 +    cout << "calling release()\n";
   2.433 +    release(session);
   2.434 +    return 0;
   2.435 +}
     3.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     3.2 +++ b/test/test_keys/priv/reencrypt_extra_keys_0-0x828AA789_priv.asc	Fri Apr 20 10:58:08 2018 +0200
     3.3 @@ -0,0 +1,63 @@
     3.4 +-----BEGIN PGP PRIVATE KEY BLOCK-----
     3.5 +
     3.6 +lQOYBFrYrMEBCACkg7n/aftZEB+2ZWI6QYz9j4rc9olTpZtnX8KKb6vGh4IuFtlG
     3.7 +5tH/NkTmAs7zDUaKOmaGPkLIwZi7ErwQN1j81V3gvhp9oBZ10j+D08ovqAXln/cm
     3.8 +vikB1Y6LL38RA5BRB3/uiJeHqprgcdbLlvEG1v5gC6laFaL/46lklFfamk8P35xJ
     3.9 +2NaL8L5fwV41eCxLIlrkb6MpWtuJouuLXv4ZqNWfG0iKGnw5ufzM0pMz72gA2rqK
    3.10 +K0V7Ytql2q6Owj2ku1TkkxhsFPNXJKvUqgYERI2oS6jtMpb4kJStUUmHbREsbwrp
    3.11 +P6IwypUmu4K7Gr5FbQVnIoxR6i68WF19+jcRABEBAAEAB/oDMA28NBujkMdKh5mh
    3.12 +BxjiJ2RBjpHf4e06Ui3Q9KO7ka/dMIJmiC2wwCaS3eJQbZUMs9+9cWqmHPE2i8EC
    3.13 +3+2snX5HjutwvHe+8fNa3LFV3c+6cLBvat8cytxrmECiLeNfnJF3J+Smw3CjkXUf
    3.14 +5gV21Fbiucse5J0vT+Qd/61ZnhybDgVRvN3LBDoCpQ9YrVqSIQ0xXkDVPzYg/v+T
    3.15 +sbEcd9dyocJNVC0Ypxsnti6BygTKqg5X6bCO8T9n/+GUhqCy6x6bykKGmsTkbAjr
    3.16 +Hzs28VT/UoDvH19daoKXXqaDiGnP3rma/UeFJ8Ng3jj72Du4z10GJckmF1mUr1RE
    3.17 +IgpZBADBFAa4doEtY2XOokoB2SNqVFCM9boT6wNWs8LitAgyjgAY+U9StzX7nK5z
    3.18 +cMpJUmY1maBNR6xW+/o23q6nIbgOww8xIh/0vyVyFNdq9vsrDrR/SFGayCPcl044
    3.19 +mHn9lrSRxU2O4W4L7/Cuuyp1L7Ke4/CKVSNwD7ppwglXcVNUGQQA2iC2q2CY/xYk
    3.20 +rBSkSwA80ZdW/ltHX2pH0c2CLXEzzqnIJvgOWT4ewM4xgBKPD5nQPiJqE8IMVLRq
    3.21 +th+qHEJiw4xb39cjxfyOcA9JrppFE4WXupTLXA+Th/LCmPy6FsIKgJsPJPLmuizv
    3.22 +3fomNmENpMCLz2kF4TDf+phNKzNsGbkEAMGiSf1dGlMpGFOgUq38SC39eD8U+4Qj
    3.23 +H28+5uibVoFlRlmOsRV5P8B7jOP5D2u4AGh7sCMZS/JZLTUjiPXG8ohWRJXAIy0Z
    3.24 +DIvBQ/wf5RCP1Fm0hKMSFOVB3mnW/dSBzjDakRJQFPw4RHHBaSE5Y9P/KEmbaEj4
    3.25 +/77mxQY2YqrSPXq0PlJlZW5jcnlwdCBFeHRyYSBLZXlzIDAgPHJlZW5jcnlwdF9l
    3.26 +eHRyYV9rZXlzXzBAZGFydGhtYW1hLmNvb2w+iQE4BBMBCAAiBQJa2KzBAhsvBgsJ
    3.27 +CAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRC3nZFsgoqnibnLCACAkQvbI8idC6iL
    3.28 +RATaJqnwcfUbPBbmnBWbIqI7PlQlP7jYaPdWZJkdTxTBt6dfyGtLKgS24vjmf9gU
    3.29 +RTJsrWNZaEWtZiJElrTEbNMSp1FMpcOKczz5J+dlCFRUdRK/DMrEJkO7Eue4CaiV
    3.30 +O+cQcfzRLu4i6OXrhaXKb2T7LT55tI0+GKK+As/uh2XnmWrqS67IAdcFYDLKFCWC
    3.31 +jI8sjmrnNzdPwX/EyjX/MV5n4uFu68A/5u05NWQfg2z5lKRqVsFfJKxKoVJgrcNJ
    3.32 +wp7zbA19fJIewDUDpdfq2WnBSoUWOnGOdxrVhpBxuiD1x3K3EjaqEbl0cZtMq5ac
    3.33 +VvOL/oupnQOYBFrYrMEBCADV2+KrrIAwT+aPCVVYLVf1ScRuVUChP8fT+hceNukb
    3.34 +NnmrAlEKD4AfG5XyFzdwnE/qKk6vNhZ0SofVsvLy/YZ/3JmNefri3n/MWVLulGcD
    3.35 +KiSfuDCUXStBqc8v0pmG91JCCldQcLpkiwqrJ0YLrYGEbJaj9gKetMqEtPkPycIr
    3.36 +uAY4IBiE93EgZSouU2pQtl4tTcfFmptBU+jaqAS9CpYesiWWT0Zno1X0vdcz8BaN
    3.37 +8yvb4pW//Z6rVkvkQjfrrHUkOYD0lSzu+Bh3mUWXR/cjSJysxzzaPD3Sh6d08z9H
    3.38 +FJdGB8oYFGP83ghmMdmX5QrcbjUNL0cX82zUkFA5/7b1ABEBAAEAB/kBecw5Y44Z
    3.39 +5z8/zvBuFJgGCw2GNmPlCPfjzFbDAF2A8NILnk85WsyHSm0xN7xL9GQvyT10Q5MJ
    3.40 +l+cSkDLRfvLh6H+NxKD41lC69AXYvCDu2mhYytBZAcCV6ipSGemxzvycFI6wMSr0
    3.41 +HSqEblezJm4doBM1C/JOLpC0NDyAwaNrokz7ROAox24WPd8/4rgIDt3raHcVeVX4
    3.42 +9epvnolpUIdFDoByS3VbxtAEkch87ZlQSig0NDfgFVlVrif/emqxyYxx2UwM7mkW
    3.43 +c+Ms26iW5vpcsJCY3CMzy+YtzGibOfhYmIGf6kYw75KFzWIp0RMsbUFSws7OB/CN
    3.44 +eGlGxuOpW0JpBADgfc76B3Wa6UNznHixbVDq0BC2klS76g81krdDoDTGk6taITO8
    3.45 +Y8xEiMVKF18Nh7j2ik6ZlVQ3ei6VgcXmHAWwH19gZzhxzPgg6LzLBnNJHHm+k+vL
    3.46 +ejSXKMQX3pFVRHvIK+56kXHqJOo83f6xzV1AD8C+6GfFufqo6+78lag6vQQA8+AK
    3.47 +Zv/u4QPI/Qoo4p6tfoed3iXf3uPbDCHjb0KDHlGPNo7GiyfUWqbP52t7h5n8On3q
    3.48 +jA7MQxbWqkelZxB4FHd7yzsqDthtJNhmxK9cGehIRCv4awtYwLtDHpUQyP/93gFk
    3.49 +HJpwZzwOa1SNuvcl3S/yV4a16QG5gpBfam2ezJkEALZGpM8X2I+PgmnhVJFIojXb
    3.50 +vlLA+aVWsLAZUqaA3ML6hnjJbS+ISYGCPZx+Rj1Wrdmcpe2Rh31hTP061naY7UKE
    3.51 +3eDuUW4ugOo719nmfbCpu/Sa/G7bCAlkFELH4Eg3GACh1msy8ihaOZzB2lTo6chV
    3.52 +PUV6NAxwyOxc4bLDsFRkS6GJAj4EGAEIAAkFAlrYrMECGy4BKQkQt52RbIKKp4nA
    3.53 +XSAEGQEIAAYFAlrYrMEACgkQL9+RybihXwS7rgf+PyYuAbd1j+1vJDEsInGwy+WJ
    3.54 +5ZZMH283IeZaW5nPs0A5yY5Yaof8efSiEvH9Xtjku3SG3kTwxWcJYllXnw3awlHu
    3.55 +hCIneg+M5QVXXoa0JNTl+AnC6PEDy2CAouZOGV41suU6IQSmd3+zMLc+dr+5G96h
    3.56 +tf2HLi3AWVW6WDr/P9ruWkUjH7AKfhk+Px0rUH66YO5GYix8vQr19pg27zchmYJZ
    3.57 +/O1r2VypGCIKQ7wcrE00u4GfvR8FiJUxW1Lp3z2sy/cp33/Yx51/OD2hLIcVxAlW
    3.58 +ZfFmGMc8a1uQSYY3hSMKVvxx45ol61p2S5GeA0C7PBy/q821p1s2EnYrtpvMdwJS
    3.59 +B/9FzqOa3ImsYEUHzoXZ8ZHaXmqJYtxZ0MvFcfoPlpT1VZK3tqVEyIAf5MAOSp6F
    3.60 +HnmbR7bNn7UDJwd6WZVczOFgjIQ6Hbb4zKZFuSJqgI2WSYT3ro128ROOPrkS/cRW
    3.61 +1gtM+BuIDu9JBMS1Rp8uaujOaqx+8if0nD6O2+ApLPPqdytV9nqMuCgAZMEc0Yue
    3.62 +2I1FaRYSAeOcM3V9PBVuw73+zWTsuxWQWrTb4hw2CKWU63mwymVlmRAMI+xyoyRD
    3.63 +PMEAwgBzK7TIuJ8KPV/iNwVsLf6l/ToNEdU42bmPDRVH+5UjB7cQQ+kW93GAyMfm
    3.64 +IE68UOoBXUTQmHWjgKzonrY2
    3.65 +=OL2K
    3.66 +-----END PGP PRIVATE KEY BLOCK-----
     4.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     4.2 +++ b/test/test_keys/priv/reencrypt_extra_keys_1-0x8B026AEC_priv.asc	Fri Apr 20 10:58:08 2018 +0200
     4.3 @@ -0,0 +1,63 @@
     4.4 +-----BEGIN PGP PRIVATE KEY BLOCK-----
     4.5 +
     4.6 +lQOXBFrYrMIBCACpJvjqCGqQU3lFKDa0dYAk7GjZ0mwzuDmdqWSm3hKalQYCfipx
     4.7 +hxZ0ObJ95N+4Q89Xx0EJcd3FSQJeA7378rzGAAbTQ6zb2XxqwUpIWHqPQri7N6Du
     4.8 +nYOv8wsGhmoZm4E7H2n/jlMSJ3kKEu0AyCIXPCGYwVsKYWGIWK/Sw/YOmQQBiwaR
     4.9 +h1hxy0zipwP+KeKUNBCd+PBnpyz9zc/tIu8xEW1+WYQR2HvXEubXwVKP/2pXXGrk
    4.10 +B4Yj0W2eNqInz2PJpszfBVy6A/qlaI/CWU+eYZ5cZRa1oM7iBHOVFp/s93o9/Kjx
    4.11 +Lbtj9gcmzWJJZxzrHv8eXGptSCSgeHE1YGjpABEBAAEAB/ipZb4hogwWPYJVH9Cp
    4.12 +KIMMdzUJ7xEtOnF40wtZkUxQQq2iEXev+fkirCV0rqDdiAs9fO5E5yORT2xveo/o
    4.13 +oU8rextat4uFIGjZAHnDudgDYG5gD3W7gUNAEcYY4sOeoXzqGKuuonnO1HkC/bEb
    4.14 +91Ess6txrzHdU2i5gxeRm23vbuxC+4d4MN1oYsh8UEVZ8YMXNYiVdX929NgVtnsR
    4.15 +jCLzNhBKJYxQlnbKjELrsTnDbrR0RtGaSUJMsfKuCQkJ/0MR0x1wCr9OhqYRfUiM
    4.16 +GrZQ5gJSmilHIiNF7gX9r0c1Vkib5mx8gpb/1toY9CqU4vjeNl1csiR/+G9ntdOR
    4.17 +i6EEAMLlbei9IyCeRM8bBmKTSnHpfst2kBgIbnpKDp/Fm7YWQZDbN9ybdxZdbFEx
    4.18 +aiAICCQeiK4JMkjD3W3xIDTV2BzyCoCro9I/wC94HdgAJsotishP5O7qflFurJg1
    4.19 +W++i93Z6mVEoW7dhMrgusNq2w/CVx/INgad8Rguna4NnfI4JBADeL04g/3u5aa3+
    4.20 +GGmUZYqTdPDPCLZGaYCIuO6tkHiqERp9Jrp3sigzi1zj0RMGo8Rha6VoWWroqcQS
    4.21 +RiFSKR5LJOkgIMBXlBQoci2Iqngo5+3aMlV76ktjtO33KZm3wpVN1W2LkndSguVo
    4.22 +PtO/VKza8qzRVDIBB5yvoGjwBa+74QQAtEBSyIJ7k7qUjFJeJw6P7Btj/B+TOJ12
    4.23 +1O9ICq5lddw9yiumLAcdI35YapEMntWCj8InpWFl+Krq5B+24sGRLG+Ikp6AtwiP
    4.24 +Kt5br3C3CSLw44w9/ExCQ/YFbpuOhws+OBxx7PrpLU9ZBnlikAKOcV9k1YeY5XJ1
    4.25 +Afc3sT9bugo1LbQ+UmVlbmNyeXB0IEV4dHJhIEtleXMgMSA8cmVlbmNyeXB0X2V4
    4.26 +dHJhX2tleXNfMUBkYXJ0aG1hbWEuY29vbD6JATgEEwEIACIFAlrYrMICGy8GCwkI
    4.27 +BwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEDsZOp6LAmrsIb8IAIk6Q7HUPTrs5OZU
    4.28 +TFKVMxFq2K9uCkrJKJyi1y/6HGHkritWaxD5kZKvTpbTeljBW/ncD7/5iOoWZ9Xx
    4.29 +UcQNwZgNhQ/q+NAIVgHOSN9A1nMSBk+xZm0Ar3zzvs52laNOfW4hhjl5xv9gVC24
    4.30 +rHPLoS4+WuTresuNrV1wPLE27KgdbBMhUgF5ZOaSzekNvBO04wqM/AWOsyRqWdJQ
    4.31 +d0jB0b5zs2oFqoFfDdy5smjLuGRsRadkdTOMJcLgKL3wPg4DulUmMHllPOq5BOBh
    4.32 +mav80ThGpEDTDeDAGsCVJCYclS1hMrXnDA1PvW5F1GMjxmz/iJaA/VQ3zvGj9UkN
    4.33 +45hB7j+dA5gEWtiswgEIALGFLO66yMVmHrgDmPDko6Xj2/ahUj0SZXUc6jc1vCdD
    4.34 +Zk1YwAd7Pu8gxEaxcEhsUrw2NoN4lrjLx8AWShXJc/qp/3Mt44e1VaI70nX5qhEa
    4.35 +I55VLwBsrMAe2//eVaQRvFTxEu2WvMeHjdwmvm5EkvfpwI1KC4kdXQqRG8H47Hvf
    4.36 +BseORi5FySqtCj/6ja67C67LmMxDIXcWrFDvr5roW0IUQtkXhg4h1s5p5xmLmswQ
    4.37 +iLmlu0L9a+uAH5Pn3gWYP9LZUDzhU4R16wSNfeBL04tTp12iiobw/YmQokCOQNvQ
    4.38 +8ljkfMO4wgZah1gf6efov+n6eaJxkNKCdyCLt2etsYMAEQEAAQAH/i0/XTcSW/dY
    4.39 +sq7Dl/maxY2UmS3xa5VOeZbSwm5FH4rAdrRzUSr3ApEQAIdmVdDX73Syus1i8MP0
    4.40 +iRsQc1y/RvUW3Jo+kZa3JTcfWWMhunP2fiqu2raYfKXRl9DNmnWh4aei9OijOcX/
    4.41 +6qw5IePYTb+sEJzSyULvPZZiazlTWe+ueelDf+FzvH9eb0EAic2zqwuEXsBpvMRW
    4.42 +fto7hXpGCACCPBSiVcPXsuFS1UPhgMszJbNdHyiP1AjuKsyGzOkGEEvpRTGAy6/s
    4.43 +CABKF8eeVUzy5DnVGSIAiHR7BR2A6bjx/tHSGFXuU8POaB/pjmVYXNqdrO0GUpDv
    4.44 +lIb20uw0fhkEAMpll90BFsgyxphvnyoZYeiQmPqq57tVsLylNZPt61yVgjeCvEY/
    4.45 +8DmZkJbigyJQdy98y5nRHHP1hcbxFk8oywIf/ay2M4IJhxqE49dIe6wUxKVWa260
    4.46 +IE8DbDTwFBXlDqSe6Ob2NmdHTDm1yqmkF0Zw3AbZrGyl1kq0wUYorb3bBADgiPV7
    4.47 +QNoKpQXAily9l6PGW/mWpbK0NB8fhyfBvDa2h7HEH4JA4hYj5j4bHB4vDIfLimZ+
    4.48 +cW1I5aFnIXT6u1EIbbmTruxTsAIl/Ec5OK4cRXoIXpBi4JcJXyPX2tkej3DUqvUr
    4.49 +Trar98eOM7Z+ELpKxRXnZ/MCHjAfyOTLucdveQP/VJghtQPLoyrX5+bALaWPWQ0k
    4.50 +jJW1bE1qvDzrgK3Clp2g/bkxpVqpp9eVop/sMKNB1Qb9cOATMJGNaMHSmt5h1M+o
    4.51 +fOJkNSRs3CD+m/4dIqyGL/vHyZcu/L1ALaReYDuNxyv3EwsHOI2p8FMMPvqxA+45
    4.52 +NQll1hA/061Lw9pa9v1L7YkCPgQYAQgACQUCWtiswgIbLgEpCRA7GTqeiwJq7MBd
    4.53 +IAQZAQgABgUCWtiswgAKCRB3zxDSPDWVGVrOCACYomz87liANfum8xylT/9AqAmI
    4.54 +2Wv0xQPDcvLJj0EkGtFCbZMKRmP0aKck7tRO/Y1+YHtHYNRd21632rkgU3MA62G2
    4.55 +0HiMPn86ixQB0VSf4ID5/vyjhViytyQAsAaWBFnFh1UrLncqWT1qHH2WNOPVMj4/
    4.56 +k9n6Qhku0utYdLIiCp2WL9yCPwFw6HwSgI0xD59Z3smymZw1flRX+RHawXgjF/6C
    4.57 +fWwbyP93eBKbFLduqaz45P/GJ6lAkaT3ZYjJ/SHe+GztD+/EErbmpMN+ZAr982dT
    4.58 +roRSCqGm23lJdQPngdy+gwFrmFT/dkXZZS8iVRGL5ReOdmHIG3qrsoREJv3OaEQI
    4.59 +AIEZ/jykEiVIl8HFpuPbfQSFwokj917kxQF3cj+vD9o5CZOBFlPL+JxOb5BgKJxy
    4.60 +9FLEi5OUeU9bAcNU5aIImGxJNN8I7BFR5SfRMNOsjHu1VYJ95/XHEtxEZzzYWUpm
    4.61 +K2ES0A3dRuDpNDYdyXdUjhpyJZWsb9Qw3k+SWB0QwAZC6vjWGmWj2+GLtqwuWc8O
    4.62 +jIOjCcpdRwIQi6esdybOcCYdi9hkaupWyJ2FlvAJt6gdHOL0W0z7vG/Q51q4psvH
    4.63 +tSzp9SFvtfsoHCacgISoMhRcaq+XPOsGmlfS6u1T8c5fh/tL3tSRTKt+sJH7iGZv
    4.64 +FG/Lo53yda8R0TIbAErDZDg=
    4.65 +=D9A1
    4.66 +-----END PGP PRIVATE KEY BLOCK-----
     5.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     5.2 +++ b/test/test_keys/priv/reencrypt_other_recip_0-0x1F4A5986_priv.asc	Fri Apr 20 10:58:08 2018 +0200
     5.3 @@ -0,0 +1,63 @@
     5.4 +-----BEGIN PGP PRIVATE KEY BLOCK-----
     5.5 +
     5.6 +lQOYBFrYrJUBCADBmdqKjcCO0GsErNUwg+l61MKliwWeitIRUt+KUxkKF4ZRoAxV
     5.7 +xLSnG8p7qQ/KSymGqzopLZEcWM3v3FIYYOehPcD8J38mPE9n5jtu1UVcqpV7BJh5
     5.8 +N63AcQYxvlqLA4EFST7LEsaYONtNf0Hi8b/JiSQSaJC7IUcIopDhCO2PnLg3KQxW
     5.9 +h4hAP/EDdKZeIbLJR0IDJGhdiGhZEA62HmrOkO+2epV1UMiQtDkCH+u1r+9UJWo7
    5.10 +VREkIHIzN2sfHwLsxy8npSYR5WoPWy4VwCRPeLKMM0CuywsA/FJXBGjJXp5zZtz3
    5.11 +1XpnXfsOKPX1tlfCl4JC5wp5w5Hh5yQr3nGxABEBAAEAB/oD7gQZ/BlFUQZc02NJ
    5.12 +CteO1E+ASPJp4j4NDWezNB0sJ0p7XBFh8W+icP3zQmxdN1Zx586Z9uX41NSL6aFK
    5.13 +n4UbxwHWtuUMacqt4K57l24sw6QCNZ0KcQebDWD21Mj0zRzGygS3FfknnaMjsK0t
    5.14 +2XG6UHhvhIbY8m1u45cWsklIs34l1jUijoQjEiqqxOlAfYmKsOvd7jZ3ALsjoe+P
    5.15 +4Hl4NEpnB9tAksH75b/GTTZgEeTCK1QFxRPqkKw/l8djnvZT++00D5HhEyY5gjsJ
    5.16 +xe/gmNoznYKG3/U5bkXyhZgDUQxDCVsDKdy54aImBdX3NN8gdp89VxUZG7yVutwc
    5.17 +U8mvBADLZdh+VwrpWZAP7cPPXQuaOSQtXDClZrmIPUAouYjpeFrAnqFPNjP/BDOB
    5.18 +ltOKDzVaZ7YYvLEZTxT+1j3HvL+4Ahq1FenpN97FIhM0srD4FGlmf7B4ODA1BAV1
    5.19 +oWPDF1M4qTbTzOrl93Ethflc0GEDv3we+5BrliyIKgtBzHnidwQA86tl9nvrquHx
    5.20 +bjOr24IFIlRQ7LhSzAnVpXDLJWpBYkxuSO1WJsADFvWfVOJVZGDElCq0wJwvldtV
    5.21 +A/S/Kjh1DFeTQqcvHGGC0LGA6jiY9MfJH9cARMS52ZLq6IVwO8MEi/TKY31WoISs
    5.22 +QAds6vRAIhwdLl1nIMZNznhBaALy7xcD/0MatnIVxFutHDvt1LxTpMDbgxZefpjd
    5.23 +wEf6lMtkSRyKHuFhQJ9BudnaVdCGAP3WmI5HM5knVAWCzwqINOMm8qdYiKup/uF9
    5.24 +DO9Wz9iST76nzA9W2uf29fvQCr8mPtnK++E83aBbUCKt//v5XtNNUo75ZwtLmibN
    5.25 +31YH7Sr//UEPQyW0RVJlZW5jcnlwdCBPdGhlciBSZWNpcGllbnRzIDAgPHJlZW5j
    5.26 +cnlwdF9vdGhlcl9yZWNpcF8wQGRhcnRobWFtYS5jb29sPokBOAQTAQgAIgUCWtis
    5.27 +lQIbLwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQxvvPjR9KWYZxyQf7BTmI
    5.28 +Hc0zyc0C/rtewQ03NeyLG1l6bx4Tgkt7HFXaVq6VFBj4rCkoZQXgTM6SwgNkCj06
    5.29 +2D2UqAh0Jo/7Fj8qZvewb0GyLX/vcimSp+ci+k5mHIyetn9tlZqVb2NE5e+IKCOR
    5.30 +FjIUlx8TjvyIa1QXr19qBdzegmIAFw7ikRNil/jxI01Wc3hTpOhjWUeKFZZuSHlv
    5.31 +vt+rXzVysaCCKzmG1MPoWQCLbxzjYsiJuDRxFiv1Su6FEok/dG9THujA460JJspK
    5.32 +P3b7u1NzwZDXefy3anR4qDbSgKmrNFRWkimAVzt/zZe48BpF9wnI70jIzJAcQgL/
    5.33 +iB/0JFUZ8rNMm9kPpp0DmARa2KyVAQgA2bvNB9wy6cYeA9BJHKMdCCfMFjZLDuiX
    5.34 +5D2Tkwylw3kwwLvCMYypxuAD8nLEoNwv3MWZfjDHaMEdJuwjYPuYIML7fjUvHxiA
    5.35 +RnpgrAhOAG0LuNI41OaiUP9r3u6nR4lHwlKG4e+1WbQP4GHZCPrbqBQyD+LESWr4
    5.36 +hxFvQU83VAgc+tAET30R06puoaJIoD4EcZeIQKkffHUnhjXxCiB8RcWUat0Onlf4
    5.37 +l74rQWdZzUzGfiB8+UQJdl5evzSjaB+l0OVzLF07dSlTq/+2lSh++xo66SEYOJH0
    5.38 +S4wfCNpVEd3MpugUTJVOqNVXwKO2YUJ3hbH3oO/nVxCfWiGF9A4UKwARAQABAAf8
    5.39 +CXrtVvHF/7rCFM1tWYNaoL/G2ZK8muYSsvvhYI4063lr34BtWKX0wHWBhn1rxUtB
    5.40 +BD5QTBfInu2FnOu8MJ1Txt1mgNzE8/gnoanzapoj903ILGBu3Ao8uAUfB8JhYzJ9
    5.41 +ft8EA3Nh9IlsBYuNHSB7DuruMRXhEQdI0ey26OOPl6d8NwinA/+c3SdbTfvCG+LQ
    5.42 +2Yt3HAekpwyEYW/5VnTSMKGhtJRPWS56agPb5vk9KxD/TUaL/p3zGF6Zq/Tjblqy
    5.43 +zET+m5BAgU2vS2sde7OKF4/4d5itUmxQx60PE5LPpy2qKLG7x7dLhmFVLT+jWW3C
    5.44 +3iuacQwZf84K68yCG83oaQQA5uozIUZDdhuvLJYhXnVidprtj193ny+vhHogwDbm
    5.45 +hxPuy/DbNLikgyESkT9nIlUZtfT0ukguQnWyHS9vC6oGyLAIGjsZs3DvPiaAAqDJ
    5.46 +C/Bro6w7cHJTcNoha6JduuZf0WkhD6DhN/jhVuXMVfAb/uqqQYjP5GVAbHJvyYMA
    5.47 +ZYMEAPFjBwO5MDNbYF6tnKDQHkfIut6YAjSQT82qZZhRIFTKJSnMOqWYNA5K6PlB
    5.48 +MSSln/1beZu9sef9KA7pqQdezw9fDim/Wa9C9w8CB875nn4FyXUj8YzC6ZSfxMvV
    5.49 +7A1Rug9OHXXZlexIE59fdK6fQOkGG1lFbVdUXFt4XXUuK345BADxHz2qnhCcCZV/
    5.50 +/OSq8XLC+lKgrZTQ3LU5fBVlPt4sNX/WWXU3+jAwjhGuq2JNg2BtLJ0UthKlsjrg
    5.51 +a12PXiUia3hhuubwRfvrYzBJKwxeaqETcs8A1IR0HWmM3mh74VrhiMMzLeoXEBaU
    5.52 +Hhxo1GsQtSCTnoySZMdfsxmn+HFs3jvViQI+BBgBCAAJBQJa2KyVAhsuASkJEMb7
    5.53 +z40fSlmGwF0gBBkBCAAGBQJa2KyVAAoJEA4j0aC3NEhyTYEH/29rIY9HUfPv/ONK
    5.54 +vDFAUydDaOmEYb7HNN2vn3k+dWs4hvuHsQWArXh1JCNYm4RfH3Pr7R6vJ3M0GEAj
    5.55 +rGtklotQGEOAq0JnzoB4posJr3r0t8fYTtOZPh/AKCTNVgv5aqbXtujbPpxhczbI
    5.56 +n1jVZP4WrXJTVVO5M1PEcsoHNHJ3IOPdfKUDy2mmbCKbkt136CjAkCJ9hB/z0nt5
    5.57 +0mRIyxhceSdD+rLgZLhMkXcfwad+4W2fjp+mUeGIkRUvNn05e0P8FWnShbF3dMIP
    5.58 +MbYFFoZ+23th7AmkPYzDep8Qa5zjCgtRSDlsjElIiLUjmx9M2roLGH01giB1DMUn
    5.59 +OTTtRaS99Qf8C6x5MzEFuL/vNzUf9W9AhEzlAMj2JjCSf9kHwAGLrP5UoTpaLUAQ
    5.60 +vxEivlFuHyX+GMkKXM5STtmo9IfnoPZ/Op6o1DYOuOkhwGu3kgG9A2d+Vo5meSjt
    5.61 +0unCZPOsI+jg90VQS3nhdmNnjM0neUNzcdPCocTjsyD3KsssmPSIbstrgLES131s
    5.62 +L6tB9y8sBgAt2n/K/rUDlfKAT9/nfbFQLyj5SfhJ2cfFfSfSF6Ke4gkzjUOlVf4v
    5.63 +5nWRIRV5z0dT7iHBa9K9r9aOYAeGpDUp4Ll/LyEB5Q7cSy8fBeH3M/kTFK22C0qV
    5.64 +1RKYT63uf/CjJlB/HIBJBeNxBKBM+fPXmg==
    5.65 +=CVYv
    5.66 +-----END PGP PRIVATE KEY BLOCK-----
     6.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     6.2 +++ b/test/test_keys/priv/reencrypt_other_recip_1-0x0F8273D8_priv.asc	Fri Apr 20 10:58:08 2018 +0200
     6.3 @@ -0,0 +1,63 @@
     6.4 +-----BEGIN PGP PRIVATE KEY BLOCK-----
     6.5 +
     6.6 +lQOYBFrYrJcBCADIyfgYlDk8jxMjY3qRgNlfU8R6z/T9jzjjKuP/LKDtrvx0WTE1
     6.7 +bzlegosr05CFiKa4To9oHU3hBPS51rPjhMmDC/Qcigo1LN2/XTZGnQ9c3uCkkM7x
     6.8 +0mCXGBmncJELWfDo6Fxd8v9iFh3i+n7loLcYVRZ08vcQndFEErRcDl/XgTPJ/UoR
     6.9 +NLujyXstg8pzx3rhqrywVhVO8B1XQWEsJYzqxCFZoX9gdoUtpkVUhhNYKu4GbfrQ
    6.10 +EEzpPUeK5fbvy9JnH7bsmfPK5qZejflr5PcrYMlUr8MBwuRkjXuOYa1jKXy0WvAS
    6.11 +oxqKg1ojipJdZy2MQNcHdC+CuprVi5ntB8clABEBAAEAB/0f4YBiOAgTLK0qFXhX
    6.12 +fwvEqOfNuj7uPbNCJUQYoazsYGLsVGHNrVsraEiRt7YURcYhsIjw9pTa3C8Wt4JO
    6.13 +PKjEWn2y7wYU5bVQgQvbpWzUNFKbPp+P4kqnjaeRIFH0vp3+VS/z/jUnjVccfDqc
    6.14 +L5Wy0tvNy5WIDrmJ+KWo541h3vVDthTgMjmlyh+z2J5Q/HMYmvEjVLoG9KM2/3oA
    6.15 +2BQJ0GfEzwu7cDc9EBhU/fTAu/y0N+etX1GXdD0A2UKa3fPPOO8Kio6igrPENesl
    6.16 +Oe3Ex5lLctFoDEJqnpjh+DADTs/70O8vv75zg5BauBZ9uWY9yqzwHUz+BACzwAAh
    6.17 +apMHBADUVhci1Wq6gVVExhh7obNAqOnCP6fTzFlJgraXQ0D5Uv1rl6aVnIBOY+5z
    6.18 +GDg4aMSOOsMMNkSfdH+Ytik7gFGtpmeyWnxxpn4+vtQqgfLwX05vGl5nwy+OcxL3
    6.19 +qwu9wGRcTP8k38SA/awBfV6G0rB+Gl0P30Iq7iNN1Kl5/n00TwQA8hP/ZX0+Q1hk
    6.20 ++vBHMV/B0XuyqZFqmuMldphYdkfzjsT+zLB48z3X6a4DNyMG8HDB4JFJE+PTc9pX
    6.21 +a1ao8PtV8jmc/I0fcYa6XLxbhanFNfYirYkqziIO5vO8y8Bw0mreAgzopFDEKiGl
    6.22 +yiVKNJ93vjajjdDdvhbPujUwgiGOTEsEALS6G3lmSOL8FWQFgNGRHSd9eRKhtbxT
    6.23 +cB/PL+K2o/hdnTTIpQ4L5wu1b0HdQi34agJjhuT5+2dWVvML/xDBeNh2g3R1gtBg
    6.24 +DBCWJIZK7/uGLlX/4I2jNxVq1CBbBUhykB+G4r/ImqbD6aXCt2Wx8RQKbe2aGUjR
    6.25 +pMfYQAJK213mSaa0RVJlZW5jcnlwdCBPdGhlciBSZWNpcGllbnRzIDEgPHJlZW5j
    6.26 +cnlwdF9vdGhlcl9yZWNpcF8xQGRhcnRobWFtYS5jb29sPokBOAQTAQgAIgUCWtis
    6.27 +lwIbLwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQTWuZ/g+Cc9hWPAf/e/UE
    6.28 +3+DnvwAiywBs0rGxrSeU89NfbJjkZlgHeufRcLf5oHRGpFJrPr6cG5zelLNDT+ts
    6.29 +0zguEhv6fqLOR0+Ucnn8X39Y3d+tDB+5sD4oQ6jViX1QcWajH7hWnfD1ZVAzvgY9
    6.30 +29YDqzZ4NHV58XumvktbckNQqvWo69ndKZ5wqm73htU8pnzkgUZoqQ7pnpN41umh
    6.31 +u7AspLikNkiyx2eBC+sQPo2Al0Q/dfHKFBURXyFG+UNldX988XB3NJ6Io1H8bEf/
    6.32 +wPGcQtJn+4uGShDqLhIxpc/4YCc7GTeDmhAHGVKt+i2duprpj+tvOHh/Ew2m9WVl
    6.33 +s4ApMxqAXOA13+ujW50DmARa2KyXAQgA9lNUnV3tfUo7L/rV9+YTji4hMp6eP3iS
    6.34 +FqSMe/XTpKrDF0qjJ0HlZruJOY9Z+Gb7vFGHfh+3OnSZLmiEvDCbrrdUGY4mGiN8
    6.35 +tsghd658jx/jnl96AOIRxNxqbOfbCVOLojGFvpThR7NhNVg5Pp8OXYRCrMmXTi+3
    6.36 +v4WmUNIpfbWFdGgU7hzt9rWLesC1vyaGgrSPf2o36QbIFE7ps9biEzMvesktU1Qf
    6.37 +ekPq43rH3MBS9TInB8Xn2FKEp53x8m5tu3H21PALA8TFtwLNR7Xj65RFjTSbSK3C
    6.38 +G2ey4v/bgk3aHnsMbJlpQoIV/WwkvzuRfBQ/olUP8xSgFfRP7souBQARAQABAAf6
    6.39 +A58TAeNFIA/s0dZCugvIYtE7zLY3RmCb6ThPFm11SJj4GEoRHv0hhcKhEFcSsAu3
    6.40 +jLu4HbsSownezKdduDSQvV9VnbCQz9aQuVE06MEIdMQ3wPbPYN7x+u5wpBw+hKMV
    6.41 +TPOkbzpaG4dAGRwsb0bAW9CbeFXYYx5hea/Z05tbX805gCS5ylKIRLl9KZw1Dq7B
    6.42 +XxtwVEvDc0pZX1TyvWNwXpEmoPkUl9D33fDrTcIJrPIyHi5EsyoDt0S2R2VK88pJ
    6.43 +vScwKpyZHcx7n9ljCRtSiVy74keUKXqH/2xENM30EqK4O11RcUNC7OL/0XELJ9UK
    6.44 +Y0FzC2KQO2m1A2PgxdRNMQQA97t/ik8FLN7FlmJTglO5pi6F/rHu0RgRxP64mFSc
    6.45 +o2ZJNus6M7lKk1HO+mtIuQltzQCW/+ZApASiVc8temKs2kxVu2Hik8oIgxjQ8OZ9
    6.46 +NfJMHCytUHAUe8emcAl9mHYX+aEGw47dhUdQM824/B9BqU4G7u9zZu4WS07ld0kR
    6.47 +I+0EAP6Lz/tlv8i7AewJDPlC0sHPYiC/pB7uPLUNy/hGElJV5HjcKCHh5G8WlDoF
    6.48 +UsGk/gOp16GAt2GCiWDmopdsWr46H3fy6ndAwAAa792TveOYfvZ+B+fbvFpmSJmU
    6.49 +yJJVuyje0bqQOpQZgSPUViN6D+bFzw/pliu/y5o7VGp14J95BADla2YbmhWyIM+M
    6.50 +HM8cfNqbD9z3FHEgISKS1I2mFu5klni69QZvy3CYwNv6mgIkMzk4Z1Xer1nEJOW3
    6.51 +lvz4NnTu8rpOxd0fM5Io5rIcIm7O/vllcT1GEV/qEq/0QXcDPrLyGiH1h07TzNNB
    6.52 +S/FyarnEYtyewB6GUI/RC0LZSWzkV0KXiQI+BBgBCAAJBQJa2KyXAhsuASkJEE1r
    6.53 +mf4PgnPYwF0gBBkBCAAGBQJa2KyXAAoJED45CZNVTVeAmZcH/2igwlZkiJo+Vc07
    6.54 +Cyew9TSGn+SaJgp6GvWNX0zXgLLqHzhjekX3AuQBsrA3wZ3KS/+v3ZzLAukUw/oH
    6.55 +bzHBjycwnJiN5ZM83K5tFQgaOu2JFu7mMwV4Kw3G4/3AG3oOMAjSKASBeIzGd8ph
    6.56 ++TRc7KXGQtmTHr1Cb1eb6xo/8AqCbsn2+KCVlf0Fwf97GbcQsq3DscVvjicTCoOc
    6.57 +lapa69IpK29UJ8E4mQa/xMlQTh2cTSNndkysPSL9rSbX+WZt9KgfyMg8UaAW+TEf
    6.58 +RuU8MRVNBN3AHeldiywlzR3R+TZjWugVhiWF5491FyUe6I81Nthtz3cOanJUB4rT
    6.59 +O1LNeOiJ1Qf/TqG9MmywzZ0v4R6aXG5hneqGHm+AAsf0j2BGf7RIv+6v6owrgel7
    6.60 +CeYgDhTLTIWfMeBnev+NGNpNkvjYecj8OhEvxT9aP8fl3Spf3ticPkJ6DePwNqbr
    6.61 +HhVzIgjNBiOJrLJVRA5pY/nM53uav4vNlFiPwuJ8dbsF/Q+uG+FFsxJRuQvElrdE
    6.62 +79wp7jaG3qrIh16AJhI5qSqN8IhY6txJhSJwoikrXfu+e+QyAJ01zQpK7oRX7Iou
    6.63 +dkLnJ7xZMmp7tGD+PcHeGORPGTkiXr4nKzZHYcxLdTO6RvsPK6F60XdT4hhF60zS
    6.64 +xcbMqMAmOU0laqhnnhwpEMUPxbVCp4Rmew==
    6.65 +=cMkb
    6.66 +-----END PGP PRIVATE KEY BLOCK-----
     7.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     7.2 +++ b/test/test_keys/priv/reencrypt_other_recip_2-0x1EDBE691_priv.asc	Fri Apr 20 10:58:08 2018 +0200
     7.3 @@ -0,0 +1,63 @@
     7.4 +-----BEGIN PGP PRIVATE KEY BLOCK-----
     7.5 +
     7.6 +lQOYBFrYrJcBCADEQMBmrDzgMf78qUBKHu9u8mjLAxlqgc4iZu4oM0vSx8KihLoP
     7.7 +U9RIiFOx3fPF2BK/jljxRfSzMstZxPHXtvAunYhAC2f2vsWGLrzL3F5i6hIILEC+
     7.8 +nywUWy0cEmIfAkDWnNmmOChCRYzR+cLPqNJIBvRpyScS3+0ADjIgv9gVI4z/CefR
     7.9 +7xPZSraBx5IggeFXbOfhiojuVeMOCkilnerA/T1ULfii14yBEMF7uHkIMThrW2f9
    7.10 +JnaJ5DTRbZnV2VugfHM0eL+FczfmT27+9oLbGZbljZzx9yWGRKjJOvPgHtKJ8RLy
    7.11 +Bst7tH22SSrTqo4iUYMcv8bN9P4xPF82U7Y5ABEBAAEAB/wIOco8CMrvabZilYnW
    7.12 +jCfkf6rBRu1lNQYfE9nhG6SkCSVBEGzyW1o55Q7pqmAp7NB9Bhoibhh00gj1x7G2
    7.13 ++oRkK8xWxN5Jbb2+jfhyAgKpxN5XHdsOh6zpDdjyRNn8gJNs+2Y1rO5mYrRlkQFS
    7.14 +Q2T29GWrsRefF1LUzljZsw4l9USYh7QInShh9JIHR5qCnxKE+Jr5/wvP/EwhNzqd
    7.15 +n5RW2Qh5Svon7TyiIO6ACjLCioU2Lv8ldXpGqvyMiFNyEbobDDcRRckZ5oeG64yo
    7.16 +xb3SYZj3Cqecqt6Um+fTKxvyjjkuKLKWDF5xwPrPCOe4aFXY2DhhG2uv2qO08r2M
    7.17 +kUXlBADSYmMYplaoyaj+rhd2LOQHaiZuHL9pvghS3OIeiMuAjlg0pJ+2ykWLJfpr
    7.18 +3KlGSzaFSRaVT8WOgygQQRTZb92L3LwwFgPXD8WK8d33SYCd34BFCimSgbxb2rJV
    7.19 +5OuNq39lBKAT8KJ+0LUzRk4ZC7r9cCw3kEmp2XoaBBuKbSiWlQQA7s38eSMM18dL
    7.20 +DECq6ubxLZrBMhGVl1SDwtunz7IcTImTqW7YBLQGQNGiLXzif6QT6KnTT6//8Bzs
    7.21 +CmPDrAmEiUaLTwacwsafOrO2PwYXcJ3t9JwbkyY5+PYLNFMaMnl6bjkSFPgHpAEA
    7.22 +F7bn4uHgtTgveqjVsEtsmntLBJT27BUD/0YHLBkDYdPgi9TFYFOSZobdkztgNx4v
    7.23 +hUeA65xkGdSs3BO5ORN1N5e2Jak8FlStDP5KUVFY12U0bDS7NctSioWtLDhFw5si
    7.24 +BvhkcA7QBucJZhlNnSE8fL1gGYHk5gpY0DgIpvOB8+pxcnpNnkhfDd88shVUbY7T
    7.25 +zBNi9IfeNBOGOvi0RVJlZW5jcnlwdCBPdGhlciBSZWNpcGllbnRzIDIgPHJlZW5j
    7.26 +cnlwdF9vdGhlcl9yZWNpcF8yQGRhcnRobWFtYS5jb29sPokBOAQTAQgAIgUCWtis
    7.27 +lwIbLwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQtvyGgx7b5pHNDwf/QHNm
    7.28 +pDsN8qh4yTAIOeNV1Ywyq24E7cQda08MtqxYZIoqGMwcE/g/AiuNt4aXVazEBx0e
    7.29 +zrlud1UylC62Dg6iihFq4ehz+m46pJ92oTmrDavnngjvLF13sreFqYexXM5GZTm3
    7.30 +bNalxSf/h/fvsEDtB+HDfupDAo1vCekhKy255ByI4E2n1VBRFMbtWRQn0eBKO8ZO
    7.31 +M0GMySHDoHxXc9ZOwMm0xqb4k/Qltkr4boiN5RJGHX6leehgLy44hrSttlGTJMO+
    7.32 +IBXAUnQx3o6+IRkOf4cD/JYOD9WVq3y6fQlXQPw/t4/j6oJZSiJAemzbzyDnjbxq
    7.33 +Qzei7FARygLCgXQ5Y50DmARa2KyXAQgAwGkzZ+GNCIX1Y368i1B+eiX/RwnTXdRG
    7.34 +Z9JpCK0bmPI8/4YET6uoriDFD7WqW3+CixVFuExETwezuC2+VcKqIBria2jZpLdK
    7.35 +6vK77bF19mji8F+i5QB9kjsfKL3X8tlKiJImc3lY60qKDiMvrFwz2lzWfnnV8RWL
    7.36 +SfCjt1YyNX8cYtqRyCjq0ZH7hc31jiLw5kImeTsI+RccIEHlj+tZzAW8CGtHNMAW
    7.37 +lUpMHvqNxZmjNMtuvowB2x92deh7q8GXRleO/thoYFZaZsOunXRnT5zAiZU+8ZYg
    7.38 +3AqDa7kTKxxu20CovYJKcSOo32Gj9wkEPNcmjEY+rHEA58Wj3WWD8wARAQABAAf6
    7.39 +AqwAHIthWA1sKcm8jbpvbISKbUpxtJ6V8MTf1B2daCjGlc2FWnjN93HZczoQQEgW
    7.40 +JJaOkToispCme2BUkqJNDhYCjbMmCX7rbvFDCAOfUP65Vm6lBDysX5erg/dAhKJU
    7.41 +fcQT7Hr6+EF6ZOap6uEDkB7npXoaLQyqZ8P7GGvsd8Q3/NZxCc/85niJIPY5Cu78
    7.42 +o/p2Yzx/SHtdDS5mM3gmAJpwDWB+23BbHn/i0H+9JIsVyxhwcoMQPdiZHkpDfeBA
    7.43 +aDF6BTFQfPzS5/OVZWDNjI2AOSLV+t8tec7e5LlP82GkuRuO6EpxVBJBldCjPG0d
    7.44 +1H/hzYaPJaGdI0CEKbxXwQQAzEpNQwIM65bqgrhwspYhLMkYQKMBBrtNRyASpDNn
    7.45 +4B844/XH5oFNBhSCpnkRr+7YKSoLNwYCnXltKv+9Y/C1HltYRtSh4nQN37GCylxQ
    7.46 +fNNwvGkgklrggz17CMdz4klIkxarXLX/zRrO5bM1dxnAtKFEGroPUDL+J+QbofVI
    7.47 +6mEEAPEdI2fehMblj4/I88E6RbwnUVOb6vL7bSwkxs4Q7wE3znDx302qibrqo+it
    7.48 +H77V4qGneyDRcoHss+rlMT+18e6U6ksSJvkFLLK/4U1zswEwW4GJrqBebJr/eSv0
    7.49 +a3uWWPoRbgE6TrTjwNvU7RzUyCeL3XyByvLr7eCg22YvKBbTA/43OEZtRdbS+yk2
    7.50 +wBtH5CbhqvipWlTM1aYtW10rGQ2d3rcA8c9UFpdA/2uOSudaddT2WziKQSCL+X2E
    7.51 +ZpQc0+IBeVqQfnyHAJ0350SF9CVtbvdfxlGq4yLB6os4o410IXaaopxuOU9iWhmB
    7.52 ++NlY3lx9vIAXrpiKlUooHBo4aNXneENWiQI+BBgBCAAJBQJa2KyXAhsuASkJELb8
    7.53 +hoMe2+aRwF0gBBkBCAAGBQJa2KyXAAoJEIAK15IsUhzIhgkIAK5XdWy8R84h64Vo
    7.54 +4pze6DgGQFLTo7rC3dc5FObraK/AjUfwuyEavpRuxW/rTq7fEfO7at0p4N8cyPrH
    7.55 +yt3vPNwLjzYOyXJKmBJZfNUTimVyEYHmWyN7shkTwTRcqbApvhlnbeZKqNIBlOm0
    7.56 +/JD2fFs/ok4uLbYLx+USZLLtwGzYjNsbuD5Mi++Lkrt9cTz+BfE1UMcZp8bepXaZ
    7.57 +cMiyVCz1KeGajdhH6gtbbRi2mywcvFNhewM9AScni/UMlGwOdwDgT359dmeO8mkN
    7.58 +OK5JqOvOvpWA/o2tLP6k41sMjEBBtmKtad8GMq61TA2GPX8Wu4KyU73lUKSSGyBz
    7.59 +geWIsXlBIAf/T1uM4Ypd6NK8tZ1wlHzkxksrX+xxF/55+ehprMkNzpciqIVYS/Z2
    7.60 +nFl5MRfK4VnqOYji2ySO+iAhUu8KuI1gW9MQzP6SsqaF44mr0zQUMVM7PH2ZmKXB
    7.61 +v327Om4qySkVP02OlmfOHa0wWGCpJ3MW+TIapJNKe7czjm7zXv78pXzAwn2cvaak
    7.62 +jVY79pIhZxCykF33ZNrQySzZiIJSbT8JxzIucRLmWqfh6hlT+dD+3bCqIkz5S1tb
    7.63 +8ZrS098JQ0Fr7RNy9UE3tmYFyxpN206N/9evet0pcUN4L6P2MuI7+Gdh9BG0REND
    7.64 ++JH8fajoMZGgrMsLZx800KGJxnyTfaIplg==
    7.65 +=J22z
    7.66 +-----END PGP PRIVATE KEY BLOCK-----
     8.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     8.2 +++ b/test/test_keys/priv/reencrypt_recip_0-0xB1A2BE89_priv.asc	Fri Apr 20 10:58:08 2018 +0200
     8.3 @@ -0,0 +1,63 @@
     8.4 +-----BEGIN PGP PRIVATE KEY BLOCK-----
     8.5 +
     8.6 +lQOYBFrYrFABCACxok/WUyT+821XovzVgaUg09w8apIJjDf1rIqlXiyftXYj7Fai
     8.7 +gOLMWJvadFq1hC/yHMjishPewWsAH9ubI0qExe1kTHFwpwQEz6qDro1zl73p9Qz+
     8.8 +cywj+NeKf4MHASNkV/cXpRqVoXgD1NYS/l2+cWM3NYq+kzIRLm0YmiwG8PQAIAr0
     8.9 +5rhZnLfESm4rZlHsqpZj7lDwNs0KP6aYmjL4eLA4ihF+jHxV5XWsr5mbz1L1y91m
    8.10 +PFExTtxxBqHwTjFZhQzt+OTq1/05scLIAtE0xLqkwNb8AMKAMJ/zDXRFY0sBby7Q
    8.11 +neeE7YyxVP/QABWkkCGl2tg6QX75OnnQ6pdzABEBAAEAB/wMkK0yEsk7/u8onam3
    8.12 +K/JeJe5fGFttMSMnjdrJg3sHmcKaHEEtQeMJI77JOfrNT+TuV5U+3UGPkRdRt8SF
    8.13 +Lv658UrvZy2NE5tdVcKQ3wY4Ji8zv0xPLB7JX/RV4oWGYiZlQN2vKVQolSE+sCMB
    8.14 +I/IbTb0AGO76t8HOZP4oQ9uXv/xME3bxcrV/Mog9z4AbAmZ4FnE+P3RDZpGQzDY1
    8.15 +E4PwkDq6+vTdQLoqXrcd15//Ejr48oEeqjKQu4lw3cNr2c5mWd8yOU27MTDNEOOf
    8.16 +nOCwsRMJjZg7b2C1gkizrFi/lShD8KS2i9YqYGVKIv9pcfaGjWCpyalkwbeeYcHn
    8.17 +EUhRBADB1U3wJLh6odj7C28eCrdiVDCt40SOwZC4lQR5czuK0ObphWse88fJuaaY
    8.18 +/VdiSQnXXAZwmdzEAHIFOOoUHLprTVcRtJq68BZ4oq49W4qkxAV4C84e9tuV7zhQ
    8.19 +FKUDeVr+ssh28KTylCo8c8qUQVVFQLT5+HsvJi9NYTXZXvfXkQQA6pr4qsNs1piN
    8.20 +qOpQI8irGWPfeIeLt5Zt68ahqK4bBKpc1GRyYyMqtNnE+od9E5V3kkTJKsx3VulY
    8.21 +MnOHQTDAdkVNDOFx+QaDaXYzjcosAXb0RRNNt9f1Va0Waizbe0isdovz5Epfk0AM
    8.22 +lXf1e9Ug0zb5ooTG2eYvRmXYtaRBJMMEAMGoHtrFOIx163i2Wuwwgo6CwHb13QEf
    8.23 +mulQqdMQCOnnWiwzqi2DL3tBe6JjiHLJAgdVuYhRY7fooIWt8NgHpXiKC2Vz1wqj
    8.24 +ZGXypvgMfPWDPoAGiox86H1cTsNZRTRiXrLAmQK0MVF+p0sWxTFqH7joSaNIsKJf
    8.25 +Fz8aUGyv/2o0QFS0PVJlZW5jcnlwdCBUZXN0IE93biBSZWNpcGllbnQgPHJlZW5j
    8.26 +cnlwdF9yZWNpcEBkYXJ0aG1hbWEuY29vbD6JATgEEwEIACIFAlrYrFACGy8GCwkI
    8.27 +BwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEGOOUhGxor6Juc4IAINPukEB+VWwRvt1
    8.28 +rJfb/nJMB8hBU62vVtEu9O2AIO+ZyFA+eT8TNix5/4YW8bmPTaqvsXDXWU+BheiX
    8.29 +928GBdQS+FTkBdW0rgCAPbuqZeyoIBB2mMOMurWdMOrcrzMMjREzIVwSYvP6UmRJ
    8.30 +YzoK7tcvAIdc+fNJSYWHia7p0l/P32ObhK4HuRIFl2cHRHmRVRHGHx3MFT9v2+zD
    8.31 +jJM/eytFKHqgSPZe47XaKz6Q3TRwOptoUh5GaPev/boL8S56PEynFe8JBlv1a+24
    8.32 +oFqJ1cxNcsFU4/x7RVgK+a2ogAx9jBWtDe1xQFyO7d3uhklNhEQPe7Qp4+iLQyDs
    8.33 +X8k5LYidA5gEWtisUAEIAKfeMNGaeFqDj2jYtu0pLrXXPMGHqqiIInMK3//XWyFo
    8.34 +OfJyLhbMMx25fismXjundmsZA8TJAw/+6nDuF1mgVmFW8Z7FbU3ZudK4wq4nSK0R
    8.35 +LPrw33VUQBhPHMVIn5WX0qw9IdtDgBmrbdwzl+1vHSiU2EHA6YI/qNJO5iDEXHQ3
    8.36 +TnDaBs7KufF5PN5mRknoeh2YsxZRB+rNSd2C3Y/maNbkd/xjlDPxCXaNVtOufm/+
    8.37 +hj2GvazyHXG9bkDpL6YcW54R6wqubEik5RK+9VTUr6spbzotzE3FffpgzEeIl1+m
    8.38 +RFpdrCs5fUrqQrZoDGtNTxtoDhSxBu/CyMEL01lz2PcAEQEAAQAH/0BGaa/f8wRJ
    8.39 +SnBtRkFxmtKCet9pOFV2ZqZg/BrEVT7p3wIvaOlOv6W6gA46jytNOCDSv6gqBVOr
    8.40 +Gg4qg+NL6rczqKlP08XSv31pRBWVshSeNnhRIWaV30LPi+cYIw6OxtovQBbp9hMe
    8.41 +Gh8N3DbL7EC9GT64BFDcWiJIloHmXbYbVjty7UYd+fVzZNfjFau8oBh5hCMm5Sd+
    8.42 +xlGLEQSV82HlXrSFwrzSweB0+88Nmnwcy4MHhMvBLRxN/k6xjrP9RuIZNbOIAG6t
    8.43 +e1IniX2TNj//z6JIAYgHuama3pgNp3oC93dp+Gz3eutrLHCfjzQMGQN+epw2WgWI
    8.44 +F1DtWvl5OR0EAMcuBZ85HmMlMyiWHS1GHfjed7r4KsN1/l0IAyfJ+6aOQYVUMc8q
    8.45 ++xbbGiTcANpTcPdoUkKcg7kQ8hTQEzNW7EdaH1mGu/vkMBVBYQCmwbiyalCzVIJE
    8.46 +wIpBhbHunk7o58yrhuEOx91VTbxhIeJssljVWjIh8KaAZG4TZigTwpaLBADXwXvm
    8.47 +vr+VhQaLUygF0mVRz+WdHZfYterNtxFkS2X2Ol3ddB1FgYgCtBv4x9pZqp2rpQbH
    8.48 +OnaOEXF9icAK3zpVVDajHcIXxbIw8r5pqdP69qotuLGOD45dI7Ws6GbOdVJJkRYE
    8.49 +EETXA8P6ChYj//gj0u52QRoetKsmcIf/euIAxQQAnvVfbYJzicNXTDVmwtn5D4B9
    8.50 +0vxtBv+pJhOg9jDKRiHZpg3HocjiVz59W5LFAx8ZdCXd3xcZ1JxhYKkmuUBuUCVj
    8.51 +pGz4IaPiX7DACC/ZSKHvo96vvWMxr+GnQfe4oPybgNas5rFE4llj6LCKqxkU26Az
    8.52 +idMAWC2oS9jyYePoX6U7qokCPgQYAQgACQUCWtisUAIbLgEpCRBjjlIRsaK+icBd
    8.53 +IAQZAQgABgUCWtisUAAKCRCO2suQh3yjjC16B/9AuuLpXOSQ0XU+Y6E5Xn+qlLWP
    8.54 +tlrDIBEWQugEmZ2hbcmAXeK5OhuzvEDSzvF6XZSEpUmegERsa2Fu0IgAftIFOmSP
    8.55 +gLbmTKaPFa46KguYzqx4TrvU7uThhPftWGQ1G6tcB29V0nzBAhXOyrj70v9jUpD5
    8.56 +OgPtaXIxKkreRT2E0lb1Ni4EGEKoCsranR8h4HnUUzM4U4s8IQ0DvUqc1q6KQs0u
    8.57 +lcAsYyumOGZZ9Kq4CyTy//McZcewLnwkyQSpae2j54WTH6kl76ZwLqFVff5dqJBv
    8.58 +Fxp9JlYBivBwbMMo9zEXpEAsLYXQGNXsQIX41TA2UOQMRyRPwS9qKilXpy++l/0I
    8.59 +AIHKVmv79czH9GhZT1dgeqSoTmg2uTWDe9gauRR6cEMRJemvb/bRnwlpuoYI2Ywc
    8.60 +iW9vdTysDB02DL0c/1INyBIwa2XO+wMlpDwIEpjMzPRBxlXaKHJfjICkj1wAirvX
    8.61 +zU8s28wrIsezsj+FOjgSVpg5l6T7o8WOiYI7zXV/wCBvx5aLJE0b2V1HekHzw6TJ
    8.62 +8G2l+gZFSy46PyxxvcVEJcLymne40kz/NQjtbuefSm99ybV+eb+SiwZRp8j5YzLQ
    8.63 +knBO0ZF9nz+Gv+EcZuyiqb7g3DbF9Wl0h3v8/NFHQm1UNFFSu1R4K7+jrTnsiCCg
    8.64 +FIhM7ngMY07Zk7M1P1w13KQ=
    8.65 +=Vo4K
    8.66 +-----END PGP PRIVATE KEY BLOCK-----
     9.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     9.2 +++ b/test/test_keys/priv/reencrypt_recip_numero_deux_test_0-0xD6E75FFF_priv.asc	Fri Apr 20 10:58:08 2018 +0200
     9.3 @@ -0,0 +1,63 @@
     9.4 +-----BEGIN PGP PRIVATE KEY BLOCK-----
     9.5 +
     9.6 +lQOYBFrYs0ABCADCAjAK4qBawfbyrPh3HBIyBtEYXHIurebUmGmLXRm8pwSWi5w+
     9.7 +cTwcetHrG0yT0SjfGHfDcHPrDTf6pWGhVPzXLSCJt2n5V9vBaGDc56S4tgQj/mVm
     9.8 +72NcbxKw+4APviOvh1kehcJQYNEKfyEXlPMh+E6dxf5EIiv3aIx7RjXPACcXcX2i
     9.9 +QEltTFRH92g46tVRYBjGBgJRt/cNcSYo7qJkd9FSLbP0vfUgDYZFeJ4rDg1S1pPF
    9.10 +3HyFLAVMWv2s9wOc8v8x9g81p3zQVvnhrqEnwh5d74w68z3WCA+CdvcENnfujYCy
    9.11 +687RjkSunLiA1I0WrYTuTnhp9rs15vSoNj6PABEBAAEAB/9fLF+RF3f+zeRtTDlf
    9.12 +hR/P9tQglUlWaO0yIcq1GWkEyRJRIA/3+ei5N+8+3NeGNDdOqlwmPkY/au6pQPRS
    9.13 +BrU6geLSbG3KajVd/ex2shR2oKQLXEM2af1eXQbYV6iNEIPFGiq39HpMoBIsig0b
    9.14 +2nAjnAJFF9oSZokXB+zSlLDU6K0qAvYKH3bJM++8HIvskErkmQYXfAUecmZihGbE
    9.15 +ViE8MVB/v1GLO7rm3oKS1PpiU4u5DuyiKXvipMwr7RzjpOjBeFiuxfs9kDmO31Eo
    9.16 +hW9PajcpKdfpqkoVqtncDUWOxNqUCDlOXDOJL1tOUZUglPssg4NOHWMDt8sTEEZQ
    9.17 +tvChBADRCltaGkDa1FcxJPw9/r07KmthQCtza1RvC0skZSs69ZEmQdQ3KVuSOpMb
    9.18 +mi0rNeLmR4Ft4cxn7EZNtgXauj1QG78JmxgljPT6o+xVSt7w6K/9xBTLMVQXa+rD
    9.19 +c98nWgNyV6D6I4AVPJlnU4CD1qa2slYl3JXNSe41Z3wSBIATtwQA7ZddhAvQ2+tx
    9.20 +8+LAfuS8peHPCDJXHxmsGLLlzTSGB/leGlNppDSPpSQeBbEURiIkbn8a0N9pY7KM
    9.21 +MbqZrDf4bY67EZvo7tadRWTE+KT21ZWlEOM7A6Qs84yeAnFec4EoCd3NIEhyCD33
    9.22 +Ewr3fHydoqeOhbUDrwzF6qOJJf7wG+kEAOcb98uFgMC3kiD3dauZKbPaFjuaC0uX
    9.23 +rcipA4pGKgXUn4GkEtg1h2VJvF4+SVh1FRp2nLFBs/59RkvDziNReUBhwT9neGye
    9.24 +yN1W0B/WTOQlq0UaSN696Wjzi7kYWbcB9MUty0jKe4vqtavZ+YwP4QcIVwy4y3zv
    9.25 +QseOtfRqtfHyOCy0TFJlZW5jcnlwdCBNYWluIFJlY2lwIFRlc3QgMiA8cmVlbmNy
    9.26 +eXB0X3JlY2lwX251bWVyb19kZXV4X3Rlc3RAZGFydGhtYW1hLm9yZz6JATgEEwEI
    9.27 +ACIFAlrYs0ACGy8GCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEHttN1HW51//
    9.28 +0icH/3+aUz+OGcaPPkmfML2sn5qREaBFUif1yLPpTT927MK814qZdqMcqr/DyGn5
    9.29 +ETjrGTGUfsJTEQ1SW0z8Bs86LI3TWnEp7jRLRGZkadXFR+Aj+j++tcBwgxRcKoNh
    9.30 +9Qnu/wfFnvHOBQs0CBTF2jTE3RocgWPLe2XhWyjPPekVgMgHlvtMJH9fu2PgnVsO
    9.31 +L6Siqyt+KbX0orUP6mbfDh+zkh8RqiBynASPSxa7RJyTDxmbvNq5bMCuAsVUATO0
    9.32 +S4fZnpKrxhta+kLs6IZxjazbKkdz4631d+jp8mjHg1mnf4Yk3K2CUUzPw983vUAK
    9.33 +nEcjgQsM+bPoBN6+gKkhjHZSjuedA5gEWtizQAEIALlfI2SIBylmvJ80hi3C7hW9
    9.34 +ayGvJ9VQSsnJgQHOCOeZU3U5SQ3MeMeOVA3c+lTK+UgQ8OgaTJRrXfdGuZn065xx
    9.35 +jtkD6p6FoldX3fDlkCkFqN1dnXvg4g2o/cbGd6jR0eO1uwCY/D35aMhL5aCvdQaI
    9.36 +q+z1KtlVRcOyJIMQkioAA/5KIFrmr7yaSd4XJ6WAs2EYJPnfhIok5oWJ1GqAOfuK
    9.37 +rPPo+6gQs3B9kKPz7sPV3K0ieB43H/N3hKhGxjOoLt4hqu4BC9sq0RBJsHL9cgI+
    9.38 +hF0Hpzw2B4wWHrV3hve2TKT080U7NPKeEZ/JRPEcwvxbsFGr6PSQbsAIl3MdKbsA
    9.39 +EQEAAQAH+gMrtm5EyWKS6E0M1/K2b94dVFTKKzNB4VWcRcGjJZHYlI3fwfkjczlu
    9.40 +nM9z5TBIHIV4DLbbpE2xnHTbV9djUhhl9NyPbZbykDlQPnKdap7ZAu9uZ4Az84nq
    9.41 +RxT8VhWkKSPs+triwwXIW1t5uN7LwYOwGMi/1NDM3ZmgVXGMegOP3w3LhW6YEc3K
    9.42 +B2VosrsekPFA20MsZqkflOBW+IxPvgxAHOW7i5Id5bO8MFp7lllk0rnf6RSV8xib
    9.43 +Wsy5SxaZ/Ut9MERACHpjhAzp7W9vgGAfU8uiG9TEt+ywrTbaKr5l2EGlsZgYMR6n
    9.44 +mvgkFllc5KHJMI/wqRKzoRBVzDJ5mkEEANmp0NmLT+7mBUrvd2c6wTGXPdJ6inJp
    9.45 +tiEpF7A5/B2AyBiHw21x4ebaAJOjWtyx4DN6h+XBts3R1v03wMclpWhyAfXULpeH
    9.46 +3qvY8lD/hEFqIFct/73diRG5mztoUPuTGs6p1XrTBFnt6SvVF2J7aVNS6twVvWYW
    9.47 +M5mXwdDLPkXbBADaBVPFwcW0xFnOaxATlZ0CZo8SUbxUsLSmxyDePpvHh0iZBmwN
    9.48 +Qt1QNiRciPJmkgjRAKyffkr0mhon9shEC7WcSyDnssKH3l/pvhVLgAxNOd61hzPh
    9.49 +Z69QZAqNivN7gbQ8GUdhM3ZK9Bk8oR55w79P/fo6Dm+JLiGCuYzDZXYhoQQAvlhP
    9.50 +xylK2HbyvNxIStbSQEjzbHXzybG8rEy7/hbmtpNPi9dRUIjQhiszjBSPiQZrMhHp
    9.51 +C0PIVkMB5SpbbH6pJVR8/xCmyfL79h8UtvYw9M2lEe3xCnxC4qQKXQQw6KvyVFmL
    9.52 +9w2UikVI0wazPMo27Zw0E3t4/SXOUXUBqQwvI/5HjokCPgQYAQgACQUCWtizQAIb
    9.53 +LgEpCRB7bTdR1udf/8BdIAQZAQgABgUCWtizQAAKCRBZ1bQOl3HDByyfCACzxQyV
    9.54 +Jg6QvcrT7B/e/+ppnmcGSJEgAzW8mQluSKK8Yj36d0WNSFTmT/ikHAb1STpDZzeh
    9.55 +TYCHtx136fVfX5Mt5nDgKxvJ+9Q4M6nJzBA50JeWhSfI1w2KUdxXQoPcQkaecKkK
    9.56 +BT4onQ+1oFfPobD7qEHAfGTfoYIKVNinQLCy4JxdaBDyb2Xz2zGhlPTeqH4j+LQ1
    9.57 +KEreGOja5d64rU7e7FC2jqmabcPWT3DYRheTeDD1P03IW09c3Z0Pwmg+Q9NqWKXb
    9.58 +3FGb5ZqA6LXLSC7q9sThcIQ1w2unN4wjJwH0mgftCqypvSyX4g6tuOoWZg1VQeiI
    9.59 +4nhuyB+7+J4vUxyGUd8H/RbQO4BeF/SFNnNC4nLAAG72OqdgE4JXqvlbRKFvxdVN
    9.60 +Ffp5scY5TSL0FN5+en5gcyrv+hdW4yoznuZNAUFtnD7RRhw2WY/BcyqeHtR88S6w
    9.61 +U775X+RGosJMF7z2S4FYsGbDV4Kixn3BP1nSDsVDzxHoxfbkZVp69S33lZMIWR1I
    9.62 +Kf4fb++eiF8KO39aYC70L53tSKLu+qAOzdDWWa8lihcXslvCj0foNzmO/PzRUTVs
    9.63 +B7EKZMvqqH2NuDnEg3YgGuyWvpIaoPl62Hh+xqGBif0SrqQD4wkWC55C/2BdAGQp
    9.64 +rX+KlvcjZgmJ50Y9pGZJX3SiI5JNEocOz2LqPQ+lszI=
    9.65 +=aqSi
    9.66 +-----END PGP PRIVATE KEY BLOCK-----
    10.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    10.2 +++ b/test/test_keys/priv/reencrypt_sender_0-0x3B508C8E_priv.asc	Fri Apr 20 10:58:08 2018 +0200
    10.3 @@ -0,0 +1,63 @@
    10.4 +-----BEGIN PGP PRIVATE KEY BLOCK-----
    10.5 +
    10.6 +lQOYBFrYrG8BCACtrK69QOJHZSfsNWUUVzC2HgLT5xNZp+R3Ra9BFAruousyOtTQ
    10.7 +jX07TxJwrDkwgSAoYiEEDVfqjBlzlAsh3sa8zCmwE4bwtp6Xd/ZNdIeL1XAzctWH
    10.8 +0DxpvUojY0YQp4W97zu38FOJz6ehaclS1Cy484m/NqH3HNJqAVy6pABxXC662jeF
    10.9 +PLW8wgDl4IorWpy5KpFUsWRnmsntkxX9fQ2qEL7H/vfJag1eDiUfeTyC6CTgjRGw
   10.10 +yM2h6laQ6j0ieVArWLqAxlUpovNBBWReabP4UpAGpOTciYTDdnqQw16Q8U/JW4Ge
   10.11 +55cvhPIm/FpDwseqmQtYNsUTsbYnND7Q+gDPABEBAAEAB/0ceFcEyzgiKrZKsHjA
   10.12 +xtzuCH6/gf0tZf+71ak5v9wIQUjQ/nft4Dk2mcBqHAbGqW7oxSf9uWTqHCFSow2C
   10.13 +yzmaWtWSpFYrQPnqgU3Xu1HlCGN7lkg5cAIXS2J16UuOZgffRPJt4BsHAmAhGRhZ
   10.14 +rafPLI0uJ/nmanZ2eNax+eSLWyNggXRd7aSFqtTfQmUlPBVy0ZZojUxlx1ahc1Ze
   10.15 +4SC92LANxlOURGuQi+LSxZT85SsYPoo+XqJaO47pJEzbUKYrntq4/ePXaK2NOvvD
   10.16 ++TmtDg37O2XNesMPqZf3/d1J/cmy+5HwLWZ873A+ACODESmnfMKKsYM+9GM3P7eO
   10.17 +iyOxBADOlGQ0YXyrSh0v1i2QjG35+qv/lduqpnfiLF1iUsF0ATdv8X69EW1af45v
   10.18 +KT8eY6eqDdKe/H1AJYEg07PTCp10lnYihyRHJUJT73aFEkCnxiaEDmKnWyfznUEu
   10.19 +iORtBWBfWWyQywffG5GwmkvwhKRp/QfpMEg8khKEFujHkSIN3QQA1zkTQtcyN6S/
   10.20 +SROXvLUejG9PiK/s0RzZ+sh0WAhHzTe1L5x6EK/CHaV/bImrZ7nA7smqjPUvBTqA
   10.21 +ube8IBsw086W/B99f1z99uInanttxy5p3ZWTL4VW0LbVPoWUUC4yB1+3KNjYlhsl
   10.22 +85BFLfSS/5IfS4EAlLovIgcTHZFWTJsD/2D/qfj1q7R8iWcyNpSFVwbKus41ECN9
   10.23 +rz0G3z8VNtWwoHOBURDaGPCQw4HJfD4jrlK5uj3xE4/qNGooEfWyzratOtSOCJhd
   10.24 +jIG8ig77yLd5Qjegg3lHOXguSbx7EsaGJhcjaGseW7YlZrwsu68sUL667LXSp/01
   10.25 +N8WkojuHhF5GPe+0MlJlZW5jcnlwdCBTZW5kZXIgPHJlZW5jcnlwdF9zZW5kZXJA
   10.26 +ZGFydGhtYW1hLmNvb2w+iQE4BBMBCAAiBQJa2KxvAhsvBgsJCAcDAgYVCAIJCgsE
   10.27 +FgIDAQIeAQIXgAAKCRD5AUT8O1CMjiayB/0Q3wfZJqTAvCW1uSrsKswuufC4rGHE
   10.28 +pigufvaRXRFgYx6gZ2Su0+FmMIqXpDAUl/hsDDaNISeHKRIsCHp/IkiZUH5tTgPF
   10.29 +q0ntMXNfn5kyKWaBpiY7qP1SrgK8yIdwp0ssr34DvxvLuVW1E7FmTCcQCVFvAPqV
   10.30 +wZ5mx6HJa/SN/hWwPsui7Z8I05BzA54JEVMLv3BiaVObdYXZBoTcLi98GDEmOX1+
   10.31 +OinAPC3KUGQg0SraiSuVT1FYQpFkQbkGXYH/e1sgyk870TYGY285J3+4DKs1rw7y
   10.32 +i4gp7phbySaZDZVr8IdApj/v7Qx4yYQc8d/npjm9fMRgYhODl7s+/fTTnQOYBFrY
   10.33 +rG8BCADCC23sMGdN1L9CZbE/VKurULP/Hy5Lq9UP3Ca8RPKKDnwMaG7DmZu05cEF
   10.34 +uEbKp5gwOH5ELDLKElwj+h5eUlYS/GC6oP8wUY6bKtppYPira3sARCPfAIBmNC2q
   10.35 +20faBTePiBDurZ0uiRVfaC53waytisNc16vMZacaSlhp/FA+MAlUSZdS+e3GAe80
   10.36 +t/UvPH51bile086o5AUKa5PR/g+0/U8vZ8nlnnCRoQbHvEDmD47H30J/TSgbbyd2
   10.37 +0gf4YDm9G37qgteEqXKcTrqF3DFWUvO+tPCWdxZcx3RzQBs7lmQtRGGlhXcSpf6d
   10.38 +cFWqYvr6sVi/mPAXUjP9MJ795XVPABEBAAEAB/4t0gwZZ06litTFBYVmyoQlFpAC
   10.39 +cOb6OG+96IL/FxrcrdHuDiUFrDqf61b6lkqlJREjZduvFm7B17cJSdEs/a1Um2Lt
   10.40 +/wFzc/bEPkjH9H2T4PPxGqYLzS8Es1KLU29ylKPLkVpKOhXxPK6e0leSsNmpOyip
   10.41 +vkXTpLdiVmbtVAbQwBXwHrHNm+Uy2BnC4w15CkJzrz5ag+YsjYyrlEQE9ssD4mfY
   10.42 +gdtkN4ZRfUB5RC6fQ274f4EdI7Se64Q2fEBkHYMhjexT3Wwcnng9Us0oIInV6339
   10.43 +Pf873JPRzlq+wKcg1KerU9SaKcDqoWtzjIVi4RS6CL1/KIZrNfBxKocvOo8xBADD
   10.44 +bkCV+FiSpkUSR+ekYhdXhHyzWxe8gQJ0L57NrFoVpKdID0o3ccWBvf1eHSAUsBIc
   10.45 +VBYBEIqqGqrFZ144Gh0nQ37jpEyP9uj2ML079oGkOq2dEZeSG5RZzyKPbrFa7j98
   10.46 +OHH/XDp8/72211DsvZRhPQprvg+MIGuBgpUq0slz/wQA/i81LsYrGTDWZwuE707T
   10.47 +D6rIv/RL6UF8H/nxGWaH3RIOyOL2sO4yCYzvuqfnHoxBz/vDmsRPpKTIEd0GGwv6
   10.48 +ahcRiZ5vpgSISTVu3QrYy1DfnDlvT8a6FLWCFJ3OlN7hy4dacgBm10uu4rWbDmHt
   10.49 +SON33uwDyzWMkoR7xP97vrED/0xfDLbvuOW0m16CWz62slm642Vdn2QEfK2Kdtu5
   10.50 +vI3qHd9IZ2VnMNnovMPwOzhl9q9xJZ8rfyu5EPV3xwCBndrlqt6AFQtkL7Z5psf0
   10.51 +4T3RNg/WW4Fu6SSr2K9XBH9QJEgoS5j5cVdDOXn++RhVn46+sy+umQTpJ5eAM7g2
   10.52 +Rv4QQ6OJAj4EGAEIAAkFAlrYrG8CGy4BKQkQ+QFE/DtQjI7AXSAEGQEIAAYFAlrY
   10.53 +rG8ACgkQdkDZ6PPtnMwlqwgAvQuHFEYOygXC+wI7hvRGmCUjLCHQ02LFXSSVwvR4
   10.54 +h7LV0/0dTaqMapwR1Cy8eOeJ1eYCFQpmtXq8LsC2E4D8xrU/2QlXWXZUprRF+U97
   10.55 +geEX1kyqmBMZ+rk1JKtdxW9iWNCF/8NcD0ppQrtU/RY9v9j6JoEe/IZ8A8/OrYdd
   10.56 +5iqJISC655Y8H5b78MWj1mU4jF1ceYUb3ahwKKukKCN7KogvPpwhMZDrtbvC8FCt
   10.57 +QGqXvWfav6Po13IGHRGGl68fFxz/K6PyOi5RL7kPwZV1/ShRi14uAp/WYb/EWpRV
   10.58 +LKDMEQcmROKJP2l8pwRcvlOB6IFQqG7hSDhN58Nxu+TiohqVB/4+1JMTIAhkzN00
   10.59 +M1GD2u2BiNrDg27iCr3o8tXgMHcR1XWI3cdT4M84d2nzZ7e/Uwm0QIR68wSaHasd
   10.60 +htcehEcazIBvHBHzYFx+NzkT+lTPSxTKT5w+WUCVNkBsQUQxrsgbnQTegm6cwp6I
   10.61 +mBylajvJ5Pak+18RWD18vVQrmcoP3nCvw5n1RxFJyT/3uUtrhhmbVCuB/lJ6gJLL
   10.62 +ClW2k0GUks2cuyrtZYL1ZlpbZCfPuo94I5lV//U5uzBj2/x/yPTWy2flYNyITI/e
   10.63 +FaREy+8eIRjGQO9oU0iTK98hEXr5259olUyg6+vfyQ+oU8PpBDDDXPCBXv5XcZrB
   10.64 +8RAOxnpY
   10.65 +=W0Ip
   10.66 +-----END PGP PRIVATE KEY BLOCK-----
    11.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    11.2 +++ b/test/test_keys/pub/reencrypt_extra_keys_0-0x828AA789_pub.asc	Fri Apr 20 10:58:08 2018 +0200
    11.3 @@ -0,0 +1,36 @@
    11.4 +-----BEGIN PGP PUBLIC KEY BLOCK-----
    11.5 +
    11.6 +mQENBFrYrMEBCACkg7n/aftZEB+2ZWI6QYz9j4rc9olTpZtnX8KKb6vGh4IuFtlG
    11.7 +5tH/NkTmAs7zDUaKOmaGPkLIwZi7ErwQN1j81V3gvhp9oBZ10j+D08ovqAXln/cm
    11.8 +vikB1Y6LL38RA5BRB3/uiJeHqprgcdbLlvEG1v5gC6laFaL/46lklFfamk8P35xJ
    11.9 +2NaL8L5fwV41eCxLIlrkb6MpWtuJouuLXv4ZqNWfG0iKGnw5ufzM0pMz72gA2rqK
   11.10 +K0V7Ytql2q6Owj2ku1TkkxhsFPNXJKvUqgYERI2oS6jtMpb4kJStUUmHbREsbwrp
   11.11 +P6IwypUmu4K7Gr5FbQVnIoxR6i68WF19+jcRABEBAAG0PlJlZW5jcnlwdCBFeHRy
   11.12 +YSBLZXlzIDAgPHJlZW5jcnlwdF9leHRyYV9rZXlzXzBAZGFydGhtYW1hLmNvb2w+
   11.13 +iQE4BBMBCAAiBQJa2KzBAhsvBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRC3
   11.14 +nZFsgoqnibnLCACAkQvbI8idC6iLRATaJqnwcfUbPBbmnBWbIqI7PlQlP7jYaPdW
   11.15 +ZJkdTxTBt6dfyGtLKgS24vjmf9gURTJsrWNZaEWtZiJElrTEbNMSp1FMpcOKczz5
   11.16 +J+dlCFRUdRK/DMrEJkO7Eue4CaiVO+cQcfzRLu4i6OXrhaXKb2T7LT55tI0+GKK+
   11.17 +As/uh2XnmWrqS67IAdcFYDLKFCWCjI8sjmrnNzdPwX/EyjX/MV5n4uFu68A/5u05
   11.18 +NWQfg2z5lKRqVsFfJKxKoVJgrcNJwp7zbA19fJIewDUDpdfq2WnBSoUWOnGOdxrV
   11.19 +hpBxuiD1x3K3EjaqEbl0cZtMq5acVvOL/oupuQENBFrYrMEBCADV2+KrrIAwT+aP
   11.20 +CVVYLVf1ScRuVUChP8fT+hceNukbNnmrAlEKD4AfG5XyFzdwnE/qKk6vNhZ0SofV
   11.21 +svLy/YZ/3JmNefri3n/MWVLulGcDKiSfuDCUXStBqc8v0pmG91JCCldQcLpkiwqr
   11.22 +J0YLrYGEbJaj9gKetMqEtPkPycIruAY4IBiE93EgZSouU2pQtl4tTcfFmptBU+ja
   11.23 +qAS9CpYesiWWT0Zno1X0vdcz8BaN8yvb4pW//Z6rVkvkQjfrrHUkOYD0lSzu+Bh3
   11.24 +mUWXR/cjSJysxzzaPD3Sh6d08z9HFJdGB8oYFGP83ghmMdmX5QrcbjUNL0cX82zU
   11.25 +kFA5/7b1ABEBAAGJAj4EGAEIAAkFAlrYrMECGy4BKQkQt52RbIKKp4nAXSAEGQEI
   11.26 +AAYFAlrYrMEACgkQL9+RybihXwS7rgf+PyYuAbd1j+1vJDEsInGwy+WJ5ZZMH283
   11.27 +IeZaW5nPs0A5yY5Yaof8efSiEvH9Xtjku3SG3kTwxWcJYllXnw3awlHuhCIneg+M
   11.28 +5QVXXoa0JNTl+AnC6PEDy2CAouZOGV41suU6IQSmd3+zMLc+dr+5G96htf2HLi3A
   11.29 +WVW6WDr/P9ruWkUjH7AKfhk+Px0rUH66YO5GYix8vQr19pg27zchmYJZ/O1r2Vyp
   11.30 +GCIKQ7wcrE00u4GfvR8FiJUxW1Lp3z2sy/cp33/Yx51/OD2hLIcVxAlWZfFmGMc8
   11.31 +a1uQSYY3hSMKVvxx45ol61p2S5GeA0C7PBy/q821p1s2EnYrtpvMdwJSB/9FzqOa
   11.32 +3ImsYEUHzoXZ8ZHaXmqJYtxZ0MvFcfoPlpT1VZK3tqVEyIAf5MAOSp6FHnmbR7bN
   11.33 +n7UDJwd6WZVczOFgjIQ6Hbb4zKZFuSJqgI2WSYT3ro128ROOPrkS/cRW1gtM+BuI
   11.34 +Du9JBMS1Rp8uaujOaqx+8if0nD6O2+ApLPPqdytV9nqMuCgAZMEc0Yue2I1FaRYS
   11.35 +AeOcM3V9PBVuw73+zWTsuxWQWrTb4hw2CKWU63mwymVlmRAMI+xyoyRDPMEAwgBz
   11.36 +K7TIuJ8KPV/iNwVsLf6l/ToNEdU42bmPDRVH+5UjB7cQQ+kW93GAyMfmIE68UOoB
   11.37 +XUTQmHWjgKzonrY2
   11.38 +=/94T
   11.39 +-----END PGP PUBLIC KEY BLOCK-----
    12.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    12.2 +++ b/test/test_keys/pub/reencrypt_extra_keys_1-0x8B026AEC_pub.asc	Fri Apr 20 10:58:08 2018 +0200
    12.3 @@ -0,0 +1,36 @@
    12.4 +-----BEGIN PGP PUBLIC KEY BLOCK-----
    12.5 +
    12.6 +mQENBFrYrMIBCACpJvjqCGqQU3lFKDa0dYAk7GjZ0mwzuDmdqWSm3hKalQYCfipx
    12.7 +hxZ0ObJ95N+4Q89Xx0EJcd3FSQJeA7378rzGAAbTQ6zb2XxqwUpIWHqPQri7N6Du
    12.8 +nYOv8wsGhmoZm4E7H2n/jlMSJ3kKEu0AyCIXPCGYwVsKYWGIWK/Sw/YOmQQBiwaR
    12.9 +h1hxy0zipwP+KeKUNBCd+PBnpyz9zc/tIu8xEW1+WYQR2HvXEubXwVKP/2pXXGrk
   12.10 +B4Yj0W2eNqInz2PJpszfBVy6A/qlaI/CWU+eYZ5cZRa1oM7iBHOVFp/s93o9/Kjx
   12.11 +Lbtj9gcmzWJJZxzrHv8eXGptSCSgeHE1YGjpABEBAAG0PlJlZW5jcnlwdCBFeHRy
   12.12 +YSBLZXlzIDEgPHJlZW5jcnlwdF9leHRyYV9rZXlzXzFAZGFydGhtYW1hLmNvb2w+
   12.13 +iQE4BBMBCAAiBQJa2KzCAhsvBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRA7
   12.14 +GTqeiwJq7CG/CACJOkOx1D067OTmVExSlTMRativbgpKySicotcv+hxh5K4rVmsQ
   12.15 ++ZGSr06W03pYwVv53A+/+YjqFmfV8VHEDcGYDYUP6vjQCFYBzkjfQNZzEgZPsWZt
   12.16 +AK98877OdpWjTn1uIYY5ecb/YFQtuKxzy6EuPlrk63rLja1dcDyxNuyoHWwTIVIB
   12.17 +eWTmks3pDbwTtOMKjPwFjrMkalnSUHdIwdG+c7NqBaqBXw3cubJoy7hkbEWnZHUz
   12.18 +jCXC4Ci98D4OA7pVJjB5ZTzquQTgYZmr/NE4RqRA0w3gwBrAlSQmHJUtYTK15wwN
   12.19 +T71uRdRjI8Zs/4iWgP1UN87xo/VJDeOYQe4/uQENBFrYrMIBCACxhSzuusjFZh64
   12.20 +A5jw5KOl49v2oVI9EmV1HOo3NbwnQ2ZNWMAHez7vIMRGsXBIbFK8NjaDeJa4y8fA
   12.21 +FkoVyXP6qf9zLeOHtVWiO9J1+aoRGiOeVS8AbKzAHtv/3lWkEbxU8RLtlrzHh43c
   12.22 +Jr5uRJL36cCNSguJHV0KkRvB+Ox73wbHjkYuRckqrQo/+o2uuwuuy5jMQyF3FqxQ
   12.23 +76+a6FtCFELZF4YOIdbOaecZi5rMEIi5pbtC/WvrgB+T594FmD/S2VA84VOEdesE
   12.24 +jX3gS9OLU6ddooqG8P2JkKJAjkDb0PJY5HzDuMIGWodYH+nn6L/p+nmicZDSgncg
   12.25 +i7dnrbGDABEBAAGJAj4EGAEIAAkFAlrYrMICGy4BKQkQOxk6nosCauzAXSAEGQEI
   12.26 +AAYFAlrYrMIACgkQd88Q0jw1lRlazggAmKJs/O5YgDX7pvMcpU//QKgJiNlr9MUD
   12.27 +w3LyyY9BJBrRQm2TCkZj9GinJO7UTv2NfmB7R2DUXdtet9q5IFNzAOthttB4jD5/
   12.28 +OosUAdFUn+CA+f78o4VYsrckALAGlgRZxYdVKy53Klk9ahx9ljTj1TI+P5PZ+kIZ
   12.29 +LtLrWHSyIgqdli/cgj8BcOh8EoCNMQ+fWd7JspmcNX5UV/kR2sF4Ixf+gn1sG8j/
   12.30 +d3gSmxS3bqms+OT/xiepQJGk92WIyf0h3vhs7Q/vxBK25qTDfmQK/fNnU66EUgqh
   12.31 +ptt5SXUD54HcvoMBa5hU/3ZF2WUvIlURi+UXjnZhyBt6q7KERCb9zmhECACBGf48
   12.32 +pBIlSJfBxabj230EhcKJI/de5MUBd3I/rw/aOQmTgRZTy/icTm+QYCiccvRSxIuT
   12.33 +lHlPWwHDVOWiCJhsSTTfCOwRUeUn0TDTrIx7tVWCfef1xxLcRGc82FlKZithEtAN
   12.34 +3Ubg6TQ2Hcl3VI4aciWVrG/UMN5PklgdEMAGQur41hplo9vhi7asLlnPDoyDownK
   12.35 +XUcCEIunrHcmznAmHYvYZGrqVsidhZbwCbeoHRzi9FtM+7xv0OdauKbLx7Us6fUh
   12.36 +b7X7KBwmnICEqDIUXGqvlzzrBppX0urtU/HOX4f7S97UkUyrfrCR+4hmbxRvy6Od
   12.37 +8nWvEdEyGwBKw2Q4
   12.38 +=m/UF
   12.39 +-----END PGP PUBLIC KEY BLOCK-----
    13.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    13.2 +++ b/test/test_keys/pub/reencrypt_other_recip_0-0x1F4A5986_pub.asc	Fri Apr 20 10:58:08 2018 +0200
    13.3 @@ -0,0 +1,36 @@
    13.4 +-----BEGIN PGP PUBLIC KEY BLOCK-----
    13.5 +
    13.6 +mQENBFrYrJUBCADBmdqKjcCO0GsErNUwg+l61MKliwWeitIRUt+KUxkKF4ZRoAxV
    13.7 +xLSnG8p7qQ/KSymGqzopLZEcWM3v3FIYYOehPcD8J38mPE9n5jtu1UVcqpV7BJh5
    13.8 +N63AcQYxvlqLA4EFST7LEsaYONtNf0Hi8b/JiSQSaJC7IUcIopDhCO2PnLg3KQxW
    13.9 +h4hAP/EDdKZeIbLJR0IDJGhdiGhZEA62HmrOkO+2epV1UMiQtDkCH+u1r+9UJWo7
   13.10 +VREkIHIzN2sfHwLsxy8npSYR5WoPWy4VwCRPeLKMM0CuywsA/FJXBGjJXp5zZtz3
   13.11 +1XpnXfsOKPX1tlfCl4JC5wp5w5Hh5yQr3nGxABEBAAG0RVJlZW5jcnlwdCBPdGhl
   13.12 +ciBSZWNpcGllbnRzIDAgPHJlZW5jcnlwdF9vdGhlcl9yZWNpcF8wQGRhcnRobWFt
   13.13 +YS5jb29sPokBOAQTAQgAIgUCWtislQIbLwYLCQgHAwIGFQgCCQoLBBYCAwECHgEC
   13.14 +F4AACgkQxvvPjR9KWYZxyQf7BTmIHc0zyc0C/rtewQ03NeyLG1l6bx4Tgkt7HFXa
   13.15 +Vq6VFBj4rCkoZQXgTM6SwgNkCj062D2UqAh0Jo/7Fj8qZvewb0GyLX/vcimSp+ci
   13.16 ++k5mHIyetn9tlZqVb2NE5e+IKCORFjIUlx8TjvyIa1QXr19qBdzegmIAFw7ikRNi
   13.17 +l/jxI01Wc3hTpOhjWUeKFZZuSHlvvt+rXzVysaCCKzmG1MPoWQCLbxzjYsiJuDRx
   13.18 +Fiv1Su6FEok/dG9THujA460JJspKP3b7u1NzwZDXefy3anR4qDbSgKmrNFRWkimA
   13.19 +Vzt/zZe48BpF9wnI70jIzJAcQgL/iB/0JFUZ8rNMm9kPprkBDQRa2KyVAQgA2bvN
   13.20 +B9wy6cYeA9BJHKMdCCfMFjZLDuiX5D2Tkwylw3kwwLvCMYypxuAD8nLEoNwv3MWZ
   13.21 +fjDHaMEdJuwjYPuYIML7fjUvHxiARnpgrAhOAG0LuNI41OaiUP9r3u6nR4lHwlKG
   13.22 +4e+1WbQP4GHZCPrbqBQyD+LESWr4hxFvQU83VAgc+tAET30R06puoaJIoD4EcZeI
   13.23 +QKkffHUnhjXxCiB8RcWUat0Onlf4l74rQWdZzUzGfiB8+UQJdl5evzSjaB+l0OVz
   13.24 +LF07dSlTq/+2lSh++xo66SEYOJH0S4wfCNpVEd3MpugUTJVOqNVXwKO2YUJ3hbH3
   13.25 +oO/nVxCfWiGF9A4UKwARAQABiQI+BBgBCAAJBQJa2KyVAhsuASkJEMb7z40fSlmG
   13.26 +wF0gBBkBCAAGBQJa2KyVAAoJEA4j0aC3NEhyTYEH/29rIY9HUfPv/ONKvDFAUydD
   13.27 +aOmEYb7HNN2vn3k+dWs4hvuHsQWArXh1JCNYm4RfH3Pr7R6vJ3M0GEAjrGtklotQ
   13.28 +GEOAq0JnzoB4posJr3r0t8fYTtOZPh/AKCTNVgv5aqbXtujbPpxhczbIn1jVZP4W
   13.29 +rXJTVVO5M1PEcsoHNHJ3IOPdfKUDy2mmbCKbkt136CjAkCJ9hB/z0nt50mRIyxhc
   13.30 +eSdD+rLgZLhMkXcfwad+4W2fjp+mUeGIkRUvNn05e0P8FWnShbF3dMIPMbYFFoZ+
   13.31 +23th7AmkPYzDep8Qa5zjCgtRSDlsjElIiLUjmx9M2roLGH01giB1DMUnOTTtRaS9
   13.32 +9Qf8C6x5MzEFuL/vNzUf9W9AhEzlAMj2JjCSf9kHwAGLrP5UoTpaLUAQvxEivlFu
   13.33 +HyX+GMkKXM5STtmo9IfnoPZ/Op6o1DYOuOkhwGu3kgG9A2d+Vo5meSjt0unCZPOs
   13.34 +I+jg90VQS3nhdmNnjM0neUNzcdPCocTjsyD3KsssmPSIbstrgLES131sL6tB9y8s
   13.35 +BgAt2n/K/rUDlfKAT9/nfbFQLyj5SfhJ2cfFfSfSF6Ke4gkzjUOlVf4v5nWRIRV5
   13.36 +z0dT7iHBa9K9r9aOYAeGpDUp4Ll/LyEB5Q7cSy8fBeH3M/kTFK22C0qV1RKYT63u
   13.37 +f/CjJlB/HIBJBeNxBKBM+fPXmg==
   13.38 +=+YIE
   13.39 +-----END PGP PUBLIC KEY BLOCK-----
    14.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    14.2 +++ b/test/test_keys/pub/reencrypt_other_recip_1-0x0F8273D8_pub.asc	Fri Apr 20 10:58:08 2018 +0200
    14.3 @@ -0,0 +1,36 @@
    14.4 +-----BEGIN PGP PUBLIC KEY BLOCK-----
    14.5 +
    14.6 +mQENBFrYrJcBCADIyfgYlDk8jxMjY3qRgNlfU8R6z/T9jzjjKuP/LKDtrvx0WTE1
    14.7 +bzlegosr05CFiKa4To9oHU3hBPS51rPjhMmDC/Qcigo1LN2/XTZGnQ9c3uCkkM7x
    14.8 +0mCXGBmncJELWfDo6Fxd8v9iFh3i+n7loLcYVRZ08vcQndFEErRcDl/XgTPJ/UoR
    14.9 +NLujyXstg8pzx3rhqrywVhVO8B1XQWEsJYzqxCFZoX9gdoUtpkVUhhNYKu4GbfrQ
   14.10 +EEzpPUeK5fbvy9JnH7bsmfPK5qZejflr5PcrYMlUr8MBwuRkjXuOYa1jKXy0WvAS
   14.11 +oxqKg1ojipJdZy2MQNcHdC+CuprVi5ntB8clABEBAAG0RVJlZW5jcnlwdCBPdGhl
   14.12 +ciBSZWNpcGllbnRzIDEgPHJlZW5jcnlwdF9vdGhlcl9yZWNpcF8xQGRhcnRobWFt
   14.13 +YS5jb29sPokBOAQTAQgAIgUCWtislwIbLwYLCQgHAwIGFQgCCQoLBBYCAwECHgEC
   14.14 +F4AACgkQTWuZ/g+Cc9hWPAf/e/UE3+DnvwAiywBs0rGxrSeU89NfbJjkZlgHeufR
   14.15 +cLf5oHRGpFJrPr6cG5zelLNDT+ts0zguEhv6fqLOR0+Ucnn8X39Y3d+tDB+5sD4o
   14.16 +Q6jViX1QcWajH7hWnfD1ZVAzvgY929YDqzZ4NHV58XumvktbckNQqvWo69ndKZ5w
   14.17 +qm73htU8pnzkgUZoqQ7pnpN41umhu7AspLikNkiyx2eBC+sQPo2Al0Q/dfHKFBUR
   14.18 +XyFG+UNldX988XB3NJ6Io1H8bEf/wPGcQtJn+4uGShDqLhIxpc/4YCc7GTeDmhAH
   14.19 +GVKt+i2duprpj+tvOHh/Ew2m9WVls4ApMxqAXOA13+ujW7kBDQRa2KyXAQgA9lNU
   14.20 +nV3tfUo7L/rV9+YTji4hMp6eP3iSFqSMe/XTpKrDF0qjJ0HlZruJOY9Z+Gb7vFGH
   14.21 +fh+3OnSZLmiEvDCbrrdUGY4mGiN8tsghd658jx/jnl96AOIRxNxqbOfbCVOLojGF
   14.22 +vpThR7NhNVg5Pp8OXYRCrMmXTi+3v4WmUNIpfbWFdGgU7hzt9rWLesC1vyaGgrSP
   14.23 +f2o36QbIFE7ps9biEzMvesktU1QfekPq43rH3MBS9TInB8Xn2FKEp53x8m5tu3H2
   14.24 +1PALA8TFtwLNR7Xj65RFjTSbSK3CG2ey4v/bgk3aHnsMbJlpQoIV/WwkvzuRfBQ/
   14.25 +olUP8xSgFfRP7souBQARAQABiQI+BBgBCAAJBQJa2KyXAhsuASkJEE1rmf4PgnPY
   14.26 +wF0gBBkBCAAGBQJa2KyXAAoJED45CZNVTVeAmZcH/2igwlZkiJo+Vc07Cyew9TSG
   14.27 +n+SaJgp6GvWNX0zXgLLqHzhjekX3AuQBsrA3wZ3KS/+v3ZzLAukUw/oHbzHBjycw
   14.28 +nJiN5ZM83K5tFQgaOu2JFu7mMwV4Kw3G4/3AG3oOMAjSKASBeIzGd8ph+TRc7KXG
   14.29 +QtmTHr1Cb1eb6xo/8AqCbsn2+KCVlf0Fwf97GbcQsq3DscVvjicTCoOclapa69Ip
   14.30 +K29UJ8E4mQa/xMlQTh2cTSNndkysPSL9rSbX+WZt9KgfyMg8UaAW+TEfRuU8MRVN
   14.31 +BN3AHeldiywlzR3R+TZjWugVhiWF5491FyUe6I81Nthtz3cOanJUB4rTO1LNeOiJ
   14.32 +1Qf/TqG9MmywzZ0v4R6aXG5hneqGHm+AAsf0j2BGf7RIv+6v6owrgel7CeYgDhTL
   14.33 +TIWfMeBnev+NGNpNkvjYecj8OhEvxT9aP8fl3Spf3ticPkJ6DePwNqbrHhVzIgjN
   14.34 +BiOJrLJVRA5pY/nM53uav4vNlFiPwuJ8dbsF/Q+uG+FFsxJRuQvElrdE79wp7jaG
   14.35 +3qrIh16AJhI5qSqN8IhY6txJhSJwoikrXfu+e+QyAJ01zQpK7oRX7IoudkLnJ7xZ
   14.36 +Mmp7tGD+PcHeGORPGTkiXr4nKzZHYcxLdTO6RvsPK6F60XdT4hhF60zSxcbMqMAm
   14.37 +OU0laqhnnhwpEMUPxbVCp4Rmew==
   14.38 +=aVuW
   14.39 +-----END PGP PUBLIC KEY BLOCK-----
    15.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    15.2 +++ b/test/test_keys/pub/reencrypt_other_recip_2-0x1EDBE691_pub.asc	Fri Apr 20 10:58:08 2018 +0200
    15.3 @@ -0,0 +1,36 @@
    15.4 +-----BEGIN PGP PUBLIC KEY BLOCK-----
    15.5 +
    15.6 +mQENBFrYrJcBCADEQMBmrDzgMf78qUBKHu9u8mjLAxlqgc4iZu4oM0vSx8KihLoP
    15.7 +U9RIiFOx3fPF2BK/jljxRfSzMstZxPHXtvAunYhAC2f2vsWGLrzL3F5i6hIILEC+
    15.8 +nywUWy0cEmIfAkDWnNmmOChCRYzR+cLPqNJIBvRpyScS3+0ADjIgv9gVI4z/CefR
    15.9 +7xPZSraBx5IggeFXbOfhiojuVeMOCkilnerA/T1ULfii14yBEMF7uHkIMThrW2f9
   15.10 +JnaJ5DTRbZnV2VugfHM0eL+FczfmT27+9oLbGZbljZzx9yWGRKjJOvPgHtKJ8RLy
   15.11 +Bst7tH22SSrTqo4iUYMcv8bN9P4xPF82U7Y5ABEBAAG0RVJlZW5jcnlwdCBPdGhl
   15.12 +ciBSZWNpcGllbnRzIDIgPHJlZW5jcnlwdF9vdGhlcl9yZWNpcF8yQGRhcnRobWFt
   15.13 +YS5jb29sPokBOAQTAQgAIgUCWtislwIbLwYLCQgHAwIGFQgCCQoLBBYCAwECHgEC
   15.14 +F4AACgkQtvyGgx7b5pHNDwf/QHNmpDsN8qh4yTAIOeNV1Ywyq24E7cQda08MtqxY
   15.15 +ZIoqGMwcE/g/AiuNt4aXVazEBx0ezrlud1UylC62Dg6iihFq4ehz+m46pJ92oTmr
   15.16 +DavnngjvLF13sreFqYexXM5GZTm3bNalxSf/h/fvsEDtB+HDfupDAo1vCekhKy25
   15.17 +5ByI4E2n1VBRFMbtWRQn0eBKO8ZOM0GMySHDoHxXc9ZOwMm0xqb4k/Qltkr4boiN
   15.18 +5RJGHX6leehgLy44hrSttlGTJMO+IBXAUnQx3o6+IRkOf4cD/JYOD9WVq3y6fQlX
   15.19 +QPw/t4/j6oJZSiJAemzbzyDnjbxqQzei7FARygLCgXQ5Y7kBDQRa2KyXAQgAwGkz
   15.20 +Z+GNCIX1Y368i1B+eiX/RwnTXdRGZ9JpCK0bmPI8/4YET6uoriDFD7WqW3+CixVF
   15.21 +uExETwezuC2+VcKqIBria2jZpLdK6vK77bF19mji8F+i5QB9kjsfKL3X8tlKiJIm
   15.22 +c3lY60qKDiMvrFwz2lzWfnnV8RWLSfCjt1YyNX8cYtqRyCjq0ZH7hc31jiLw5kIm
   15.23 +eTsI+RccIEHlj+tZzAW8CGtHNMAWlUpMHvqNxZmjNMtuvowB2x92deh7q8GXRleO
   15.24 +/thoYFZaZsOunXRnT5zAiZU+8ZYg3AqDa7kTKxxu20CovYJKcSOo32Gj9wkEPNcm
   15.25 +jEY+rHEA58Wj3WWD8wARAQABiQI+BBgBCAAJBQJa2KyXAhsuASkJELb8hoMe2+aR
   15.26 +wF0gBBkBCAAGBQJa2KyXAAoJEIAK15IsUhzIhgkIAK5XdWy8R84h64Vo4pze6DgG
   15.27 +QFLTo7rC3dc5FObraK/AjUfwuyEavpRuxW/rTq7fEfO7at0p4N8cyPrHyt3vPNwL
   15.28 +jzYOyXJKmBJZfNUTimVyEYHmWyN7shkTwTRcqbApvhlnbeZKqNIBlOm0/JD2fFs/
   15.29 +ok4uLbYLx+USZLLtwGzYjNsbuD5Mi++Lkrt9cTz+BfE1UMcZp8bepXaZcMiyVCz1
   15.30 +KeGajdhH6gtbbRi2mywcvFNhewM9AScni/UMlGwOdwDgT359dmeO8mkNOK5JqOvO
   15.31 +vpWA/o2tLP6k41sMjEBBtmKtad8GMq61TA2GPX8Wu4KyU73lUKSSGyBzgeWIsXlB
   15.32 +IAf/T1uM4Ypd6NK8tZ1wlHzkxksrX+xxF/55+ehprMkNzpciqIVYS/Z2nFl5MRfK
   15.33 +4VnqOYji2ySO+iAhUu8KuI1gW9MQzP6SsqaF44mr0zQUMVM7PH2ZmKXBv327Om4q
   15.34 +ySkVP02OlmfOHa0wWGCpJ3MW+TIapJNKe7czjm7zXv78pXzAwn2cvaakjVY79pIh
   15.35 +ZxCykF33ZNrQySzZiIJSbT8JxzIucRLmWqfh6hlT+dD+3bCqIkz5S1tb8ZrS098J
   15.36 +Q0Fr7RNy9UE3tmYFyxpN206N/9evet0pcUN4L6P2MuI7+Gdh9BG0REND+JH8fajo
   15.37 +MZGgrMsLZx800KGJxnyTfaIplg==
   15.38 +=s9qu
   15.39 +-----END PGP PUBLIC KEY BLOCK-----
    16.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    16.2 +++ b/test/test_keys/pub/reencrypt_recip_0-0xB1A2BE89_pub.asc	Fri Apr 20 10:58:08 2018 +0200
    16.3 @@ -0,0 +1,36 @@
    16.4 +-----BEGIN PGP PUBLIC KEY BLOCK-----
    16.5 +
    16.6 +mQENBFrYrFABCACxok/WUyT+821XovzVgaUg09w8apIJjDf1rIqlXiyftXYj7Fai
    16.7 +gOLMWJvadFq1hC/yHMjishPewWsAH9ubI0qExe1kTHFwpwQEz6qDro1zl73p9Qz+
    16.8 +cywj+NeKf4MHASNkV/cXpRqVoXgD1NYS/l2+cWM3NYq+kzIRLm0YmiwG8PQAIAr0
    16.9 +5rhZnLfESm4rZlHsqpZj7lDwNs0KP6aYmjL4eLA4ihF+jHxV5XWsr5mbz1L1y91m
   16.10 +PFExTtxxBqHwTjFZhQzt+OTq1/05scLIAtE0xLqkwNb8AMKAMJ/zDXRFY0sBby7Q
   16.11 +neeE7YyxVP/QABWkkCGl2tg6QX75OnnQ6pdzABEBAAG0PVJlZW5jcnlwdCBUZXN0
   16.12 +IE93biBSZWNpcGllbnQgPHJlZW5jcnlwdF9yZWNpcEBkYXJ0aG1hbWEuY29vbD6J
   16.13 +ATgEEwEIACIFAlrYrFACGy8GCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEGOO
   16.14 +UhGxor6Juc4IAINPukEB+VWwRvt1rJfb/nJMB8hBU62vVtEu9O2AIO+ZyFA+eT8T
   16.15 +Nix5/4YW8bmPTaqvsXDXWU+BheiX928GBdQS+FTkBdW0rgCAPbuqZeyoIBB2mMOM
   16.16 +urWdMOrcrzMMjREzIVwSYvP6UmRJYzoK7tcvAIdc+fNJSYWHia7p0l/P32ObhK4H
   16.17 +uRIFl2cHRHmRVRHGHx3MFT9v2+zDjJM/eytFKHqgSPZe47XaKz6Q3TRwOptoUh5G
   16.18 +aPev/boL8S56PEynFe8JBlv1a+24oFqJ1cxNcsFU4/x7RVgK+a2ogAx9jBWtDe1x
   16.19 +QFyO7d3uhklNhEQPe7Qp4+iLQyDsX8k5LYi5AQ0EWtisUAEIAKfeMNGaeFqDj2jY
   16.20 +tu0pLrXXPMGHqqiIInMK3//XWyFoOfJyLhbMMx25fismXjundmsZA8TJAw/+6nDu
   16.21 +F1mgVmFW8Z7FbU3ZudK4wq4nSK0RLPrw33VUQBhPHMVIn5WX0qw9IdtDgBmrbdwz
   16.22 +l+1vHSiU2EHA6YI/qNJO5iDEXHQ3TnDaBs7KufF5PN5mRknoeh2YsxZRB+rNSd2C
   16.23 +3Y/maNbkd/xjlDPxCXaNVtOufm/+hj2GvazyHXG9bkDpL6YcW54R6wqubEik5RK+
   16.24 +9VTUr6spbzotzE3FffpgzEeIl1+mRFpdrCs5fUrqQrZoDGtNTxtoDhSxBu/CyMEL
   16.25 +01lz2PcAEQEAAYkCPgQYAQgACQUCWtisUAIbLgEpCRBjjlIRsaK+icBdIAQZAQgA
   16.26 +BgUCWtisUAAKCRCO2suQh3yjjC16B/9AuuLpXOSQ0XU+Y6E5Xn+qlLWPtlrDIBEW
   16.27 +QugEmZ2hbcmAXeK5OhuzvEDSzvF6XZSEpUmegERsa2Fu0IgAftIFOmSPgLbmTKaP
   16.28 +Fa46KguYzqx4TrvU7uThhPftWGQ1G6tcB29V0nzBAhXOyrj70v9jUpD5OgPtaXIx
   16.29 +KkreRT2E0lb1Ni4EGEKoCsranR8h4HnUUzM4U4s8IQ0DvUqc1q6KQs0ulcAsYyum
   16.30 +OGZZ9Kq4CyTy//McZcewLnwkyQSpae2j54WTH6kl76ZwLqFVff5dqJBvFxp9JlYB
   16.31 +ivBwbMMo9zEXpEAsLYXQGNXsQIX41TA2UOQMRyRPwS9qKilXpy++l/0IAIHKVmv7
   16.32 +9czH9GhZT1dgeqSoTmg2uTWDe9gauRR6cEMRJemvb/bRnwlpuoYI2YwciW9vdTys
   16.33 +DB02DL0c/1INyBIwa2XO+wMlpDwIEpjMzPRBxlXaKHJfjICkj1wAirvXzU8s28wr
   16.34 +Isezsj+FOjgSVpg5l6T7o8WOiYI7zXV/wCBvx5aLJE0b2V1HekHzw6TJ8G2l+gZF
   16.35 +Sy46PyxxvcVEJcLymne40kz/NQjtbuefSm99ybV+eb+SiwZRp8j5YzLQknBO0ZF9
   16.36 +nz+Gv+EcZuyiqb7g3DbF9Wl0h3v8/NFHQm1UNFFSu1R4K7+jrTnsiCCgFIhM7ngM
   16.37 +Y07Zk7M1P1w13KQ=
   16.38 +=9eYN
   16.39 +-----END PGP PUBLIC KEY BLOCK-----
    17.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    17.2 +++ b/test/test_keys/pub/reencrypt_recip_numero_deux_test_0-0xD6E75FFF_pub.asc	Fri Apr 20 10:58:08 2018 +0200
    17.3 @@ -0,0 +1,36 @@
    17.4 +-----BEGIN PGP PUBLIC KEY BLOCK-----
    17.5 +
    17.6 +mQENBFrYs0ABCADCAjAK4qBawfbyrPh3HBIyBtEYXHIurebUmGmLXRm8pwSWi5w+
    17.7 +cTwcetHrG0yT0SjfGHfDcHPrDTf6pWGhVPzXLSCJt2n5V9vBaGDc56S4tgQj/mVm
    17.8 +72NcbxKw+4APviOvh1kehcJQYNEKfyEXlPMh+E6dxf5EIiv3aIx7RjXPACcXcX2i
    17.9 +QEltTFRH92g46tVRYBjGBgJRt/cNcSYo7qJkd9FSLbP0vfUgDYZFeJ4rDg1S1pPF
   17.10 +3HyFLAVMWv2s9wOc8v8x9g81p3zQVvnhrqEnwh5d74w68z3WCA+CdvcENnfujYCy
   17.11 +687RjkSunLiA1I0WrYTuTnhp9rs15vSoNj6PABEBAAG0TFJlZW5jcnlwdCBNYWlu
   17.12 +IFJlY2lwIFRlc3QgMiA8cmVlbmNyeXB0X3JlY2lwX251bWVyb19kZXV4X3Rlc3RA
   17.13 +ZGFydGhtYW1hLm9yZz6JATgEEwEIACIFAlrYs0ACGy8GCwkIBwMCBhUIAgkKCwQW
   17.14 +AgMBAh4BAheAAAoJEHttN1HW51//0icH/3+aUz+OGcaPPkmfML2sn5qREaBFUif1
   17.15 +yLPpTT927MK814qZdqMcqr/DyGn5ETjrGTGUfsJTEQ1SW0z8Bs86LI3TWnEp7jRL
   17.16 +RGZkadXFR+Aj+j++tcBwgxRcKoNh9Qnu/wfFnvHOBQs0CBTF2jTE3RocgWPLe2Xh
   17.17 +WyjPPekVgMgHlvtMJH9fu2PgnVsOL6Siqyt+KbX0orUP6mbfDh+zkh8RqiBynASP
   17.18 +Sxa7RJyTDxmbvNq5bMCuAsVUATO0S4fZnpKrxhta+kLs6IZxjazbKkdz4631d+jp
   17.19 +8mjHg1mnf4Yk3K2CUUzPw983vUAKnEcjgQsM+bPoBN6+gKkhjHZSjue5AQ0EWtiz
   17.20 +QAEIALlfI2SIBylmvJ80hi3C7hW9ayGvJ9VQSsnJgQHOCOeZU3U5SQ3MeMeOVA3c
   17.21 ++lTK+UgQ8OgaTJRrXfdGuZn065xxjtkD6p6FoldX3fDlkCkFqN1dnXvg4g2o/cbG
   17.22 +d6jR0eO1uwCY/D35aMhL5aCvdQaIq+z1KtlVRcOyJIMQkioAA/5KIFrmr7yaSd4X
   17.23 +J6WAs2EYJPnfhIok5oWJ1GqAOfuKrPPo+6gQs3B9kKPz7sPV3K0ieB43H/N3hKhG
   17.24 +xjOoLt4hqu4BC9sq0RBJsHL9cgI+hF0Hpzw2B4wWHrV3hve2TKT080U7NPKeEZ/J
   17.25 +RPEcwvxbsFGr6PSQbsAIl3MdKbsAEQEAAYkCPgQYAQgACQUCWtizQAIbLgEpCRB7
   17.26 +bTdR1udf/8BdIAQZAQgABgUCWtizQAAKCRBZ1bQOl3HDByyfCACzxQyVJg6QvcrT
   17.27 +7B/e/+ppnmcGSJEgAzW8mQluSKK8Yj36d0WNSFTmT/ikHAb1STpDZzehTYCHtx13
   17.28 +6fVfX5Mt5nDgKxvJ+9Q4M6nJzBA50JeWhSfI1w2KUdxXQoPcQkaecKkKBT4onQ+1
   17.29 +oFfPobD7qEHAfGTfoYIKVNinQLCy4JxdaBDyb2Xz2zGhlPTeqH4j+LQ1KEreGOja
   17.30 +5d64rU7e7FC2jqmabcPWT3DYRheTeDD1P03IW09c3Z0Pwmg+Q9NqWKXb3FGb5ZqA
   17.31 +6LXLSC7q9sThcIQ1w2unN4wjJwH0mgftCqypvSyX4g6tuOoWZg1VQeiI4nhuyB+7
   17.32 ++J4vUxyGUd8H/RbQO4BeF/SFNnNC4nLAAG72OqdgE4JXqvlbRKFvxdVNFfp5scY5
   17.33 +TSL0FN5+en5gcyrv+hdW4yoznuZNAUFtnD7RRhw2WY/BcyqeHtR88S6wU775X+RG
   17.34 +osJMF7z2S4FYsGbDV4Kixn3BP1nSDsVDzxHoxfbkZVp69S33lZMIWR1IKf4fb++e
   17.35 +iF8KO39aYC70L53tSKLu+qAOzdDWWa8lihcXslvCj0foNzmO/PzRUTVsB7EKZMvq
   17.36 +qH2NuDnEg3YgGuyWvpIaoPl62Hh+xqGBif0SrqQD4wkWC55C/2BdAGQprX+Klvcj
   17.37 +ZgmJ50Y9pGZJX3SiI5JNEocOz2LqPQ+lszI=
   17.38 +=b41d
   17.39 +-----END PGP PUBLIC KEY BLOCK-----
    18.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    18.2 +++ b/test/test_keys/pub/reencrypt_sender_0-0x3B508C8E_pub.asc	Fri Apr 20 10:58:08 2018 +0200
    18.3 @@ -0,0 +1,35 @@
    18.4 +-----BEGIN PGP PUBLIC KEY BLOCK-----
    18.5 +
    18.6 +mQENBFrYrG8BCACtrK69QOJHZSfsNWUUVzC2HgLT5xNZp+R3Ra9BFAruousyOtTQ
    18.7 +jX07TxJwrDkwgSAoYiEEDVfqjBlzlAsh3sa8zCmwE4bwtp6Xd/ZNdIeL1XAzctWH
    18.8 +0DxpvUojY0YQp4W97zu38FOJz6ehaclS1Cy484m/NqH3HNJqAVy6pABxXC662jeF
    18.9 +PLW8wgDl4IorWpy5KpFUsWRnmsntkxX9fQ2qEL7H/vfJag1eDiUfeTyC6CTgjRGw
   18.10 +yM2h6laQ6j0ieVArWLqAxlUpovNBBWReabP4UpAGpOTciYTDdnqQw16Q8U/JW4Ge
   18.11 +55cvhPIm/FpDwseqmQtYNsUTsbYnND7Q+gDPABEBAAG0MlJlZW5jcnlwdCBTZW5k
   18.12 +ZXIgPHJlZW5jcnlwdF9zZW5kZXJAZGFydGhtYW1hLmNvb2w+iQE4BBMBCAAiBQJa
   18.13 +2KxvAhsvBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRD5AUT8O1CMjiayB/0Q
   18.14 +3wfZJqTAvCW1uSrsKswuufC4rGHEpigufvaRXRFgYx6gZ2Su0+FmMIqXpDAUl/hs
   18.15 +DDaNISeHKRIsCHp/IkiZUH5tTgPFq0ntMXNfn5kyKWaBpiY7qP1SrgK8yIdwp0ss
   18.16 +r34DvxvLuVW1E7FmTCcQCVFvAPqVwZ5mx6HJa/SN/hWwPsui7Z8I05BzA54JEVML
   18.17 +v3BiaVObdYXZBoTcLi98GDEmOX1+OinAPC3KUGQg0SraiSuVT1FYQpFkQbkGXYH/
   18.18 +e1sgyk870TYGY285J3+4DKs1rw7yi4gp7phbySaZDZVr8IdApj/v7Qx4yYQc8d/n
   18.19 +pjm9fMRgYhODl7s+/fTTuQENBFrYrG8BCADCC23sMGdN1L9CZbE/VKurULP/Hy5L
   18.20 +q9UP3Ca8RPKKDnwMaG7DmZu05cEFuEbKp5gwOH5ELDLKElwj+h5eUlYS/GC6oP8w
   18.21 +UY6bKtppYPira3sARCPfAIBmNC2q20faBTePiBDurZ0uiRVfaC53waytisNc16vM
   18.22 +ZacaSlhp/FA+MAlUSZdS+e3GAe80t/UvPH51bile086o5AUKa5PR/g+0/U8vZ8nl
   18.23 +nnCRoQbHvEDmD47H30J/TSgbbyd20gf4YDm9G37qgteEqXKcTrqF3DFWUvO+tPCW
   18.24 +dxZcx3RzQBs7lmQtRGGlhXcSpf6dcFWqYvr6sVi/mPAXUjP9MJ795XVPABEBAAGJ
   18.25 +Aj4EGAEIAAkFAlrYrG8CGy4BKQkQ+QFE/DtQjI7AXSAEGQEIAAYFAlrYrG8ACgkQ
   18.26 +dkDZ6PPtnMwlqwgAvQuHFEYOygXC+wI7hvRGmCUjLCHQ02LFXSSVwvR4h7LV0/0d
   18.27 +TaqMapwR1Cy8eOeJ1eYCFQpmtXq8LsC2E4D8xrU/2QlXWXZUprRF+U97geEX1kyq
   18.28 +mBMZ+rk1JKtdxW9iWNCF/8NcD0ppQrtU/RY9v9j6JoEe/IZ8A8/OrYdd5iqJISC6
   18.29 +55Y8H5b78MWj1mU4jF1ceYUb3ahwKKukKCN7KogvPpwhMZDrtbvC8FCtQGqXvWfa
   18.30 +v6Po13IGHRGGl68fFxz/K6PyOi5RL7kPwZV1/ShRi14uAp/WYb/EWpRVLKDMEQcm
   18.31 +ROKJP2l8pwRcvlOB6IFQqG7hSDhN58Nxu+TiohqVB/4+1JMTIAhkzN00M1GD2u2B
   18.32 +iNrDg27iCr3o8tXgMHcR1XWI3cdT4M84d2nzZ7e/Uwm0QIR68wSaHasdhtcehEca
   18.33 +zIBvHBHzYFx+NzkT+lTPSxTKT5w+WUCVNkBsQUQxrsgbnQTegm6cwp6ImBylajvJ
   18.34 +5Pak+18RWD18vVQrmcoP3nCvw5n1RxFJyT/3uUtrhhmbVCuB/lJ6gJLLClW2k0GU
   18.35 +ks2cuyrtZYL1ZlpbZCfPuo94I5lV//U5uzBj2/x/yPTWy2flYNyITI/eFaREy+8e
   18.36 +IRjGQO9oU0iTK98hEXr5259olUyg6+vfyQ+oU8PpBDDDXPCBXv5XcZrB8RAOxnpY
   18.37 +=YpRn
   18.38 +-----END PGP PUBLIC KEY BLOCK-----
    19.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    19.2 +++ b/test/test_mails/reencrypt_BCC_sent_by_enigmail.eml	Fri Apr 20 10:58:08 2018 +0200
    19.3 @@ -0,0 +1,167 @@
    19.4 +Return-Path: <SRS0=n42jJC=HI=pep-project.org=krista@srs.smtpin.rzone.de>
    19.5 +X-Original-To: krista@gnunet.org
    19.6 +Delivered-To: krista@gnunet.org
    19.7 +Received: from vmmailrelay1.informatik.tu-muenchen.de (mailrelay1.informatik.tu-muenchen.de [131.159.254.14])
    19.8 +	by sam.net.in.tum.de (Postfix) with ESMTP id 1C4A21C00BE
    19.9 +	for <krista@gnunet.org>; Thu, 19 Apr 2018 17:29:59 +0200 (CEST)
   19.10 +Received: by vmmailrelay1.informatik.tu-muenchen.de (Postfix, from userid 109)
   19.11 +	id ECD371C038A; Thu, 19 Apr 2018 17:29:59 +0200 (CEST)
   19.12 +Received: from vmmailrelay1.informatik.tu-muenchen.de (localhost [127.0.0.1])
   19.13 +	by vmmailrelay1.informatik.tu-muenchen.de (Postfix) with ESMTP id CA24C1C0378
   19.14 +	for <krista@gnunet.org>; Thu, 19 Apr 2018 17:29:59 +0200 (CEST)
   19.15 +Received: from vmmaildmz2.informatik.tu-muenchen.de (vmmaildmz2.informatik.tu-muenchen.de [131.159.0.88])
   19.16 +	by vmmailrelay1.informatik.tu-muenchen.de (Postfix) with ESMTP id BF3131C0376
   19.17 +	for <krista@gnunet.org>; Thu, 19 Apr 2018 17:29:59 +0200 (CEST)
   19.18 +Received: by vmmaildmz2.informatik.tu-muenchen.de (Postfix, from userid 109)
   19.19 +	id BD9201C24B8; Thu, 19 Apr 2018 17:29:59 +0200 (CEST)
   19.20 +X-Spam-Checker-Version: SpamAssassin 3.4.0-tuminfo_1 (2014-02-07) on
   19.21 +	vmmaildmz2.informatik.tu-muenchen.de
   19.22 +X-Spam-Level: 
   19.23 +X-Spam-Status: No, score=-2.7 required=7.0 tests=BAYES_00,DKIM_ADSP_NXDOMAIN,
   19.24 +	ENCRYPTED_MESSAGE,RCVD_IN_DNSWL_LOW,SPF_HELO_PASS,TVD_RCVD_SPACE_BRACKET,
   19.25 +	UNPARSEABLE_RELAY autolearn=no autolearn_force=no version=3.4.0-tuminfo_1
   19.26 +Received: from vmmaildmz2.informatik.tu-muenchen.de (localhost [127.0.0.1])
   19.27 +	by vmmaildmz2.informatik.tu-muenchen.de (Postfix) with ESMTP id 2B63D1C24B7
   19.28 +	for <krista@gnunet.org>; Thu, 19 Apr 2018 17:29:58 +0200 (CEST)
   19.29 +Received: from mi4-p00-ob.smtp.rzone.de (mi4-p00-ob.smtp.rzone.de [81.169.146.147])
   19.30 +	(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
   19.31 +	(No client certificate requested)
   19.32 +	by vmmaildmz2.informatik.tu-muenchen.de (Postfix) with ESMTPS id 1B7941C24B4
   19.33 +	for <krista@gnunet.org>; Thu, 19 Apr 2018 17:29:58 +0200 (CEST)
   19.34 +X-RZG-FWD-BY: reencrypt_recip_numero_deux_test@darthmama.org
   19.35 +Received: from mailin.rzone.de ([unix socket])
   19.36 +	by mailin.rzone.de (RZmta 43.4) with LMTPA;
   19.37 +	Thu, 19 Apr 2018 17:29:37 +0200 (CEST)
   19.38 +Authentication-Results: strato.com; dmarc=none header.from=darthmama.cool
   19.39 +Authentication-Results: strato.com; arc=none
   19.40 +Authentication-Results: strato.com; dkim=none
   19.41 +Authentication-Results: strato.com; dkim-adsp=nxdomain header.from="reencrypt_sender@darthmama.cool"
   19.42 +Authentication-Results: strato.com; spf=none smtp.mailfrom="krista@pep-project.org"
   19.43 +X-RZG-Expurgate: clean/normal
   19.44 +X-RZG-Expurgate-ID: 149500::1524151777-0000AD36-5EF1859A/0/0
   19.45 +X-Strato-MessageType: email
   19.46 +X-RZG-CLASS-ID: mi00
   19.47 +Received-SPF: none
   19.48 +	client-ip=131.159.0.8;
   19.49 +	helo="mail-out1.informatik.tu-muenchen.de";
   19.50 +	envelope-from="krista@pep-project.org";
   19.51 +	receiver=smtpin.rzone.de;
   19.52 +	identity=mailfrom;
   19.53 +Received: from mail-out1.informatik.tu-muenchen.de ([131.159.0.8])
   19.54 +	by smtpin.rzone.de (RZmta 43.4 OK)
   19.55 +	with ESMTPS id W0237cu3JFTP4pk
   19.56 +	(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (curve secp521r1 with 521 ECDH bits, eq. 15360 bits RSA))
   19.57 +	(Client did not present a certificate);
   19.58 +	Thu, 19 Apr 2018 17:29:25 +0200 (CEST)
   19.59 +Received: from [192.168.178.22] (ip5b439605.dynamic.kabel-deutschland.de [91.67.150.5])
   19.60 +	by services.sec.in.tum.de (Postfix) with ESMTPSA id 5FCBC102926CA;
   19.61 +	Thu, 19 Apr 2018 17:29:17 +0200 (CEST)
   19.62 +To: krista@darthmama.org
   19.63 +From: reencrypt_sender@darthmama.cool
   19.64 +Subject: BCC reencrypt fun!
   19.65 +Openpgp: preference=signencrypt
   19.66 +Organization: =?UTF-8?B?cOKJoXA=?=
   19.67 +Message-ID: <c61e1869-d5ad-ec69-6c5b-6459ed833472@pep-project.org>
   19.68 +Date: Thu, 19 Apr 2018 17:29:16 +0200
   19.69 +User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101
   19.70 + Thunderbird/52.7.0
   19.71 +MIME-Version: 1.0
   19.72 +Content-Type: multipart/encrypted;
   19.73 + protocol="application/pgp-encrypted";
   19.74 + boundary="y7EXR2L3LEbunNG5z2iB9TLRp6qXDskjG"
   19.75 +
   19.76 +This is an OpenPGP/MIME encrypted message (RFC 4880 and 3156)
   19.77 +--y7EXR2L3LEbunNG5z2iB9TLRp6qXDskjG
   19.78 +Content-Type: application/pgp-encrypted
   19.79 +Content-Description: PGP/MIME version identification
   19.80 +
   19.81 +Version: 1
   19.82 +
   19.83 +--y7EXR2L3LEbunNG5z2iB9TLRp6qXDskjG
   19.84 +Content-Type: application/octet-stream; name="encrypted.asc"
   19.85 +Content-Description: OpenPGP encrypted message
   19.86 +Content-Disposition: inline; filename="encrypted.asc"
   19.87 +
   19.88 +-----BEGIN PGP MESSAGE-----
   19.89 +
   19.90 +hQIMA+WNs84HPA1TAQ/9EbDB6wxg3dD0y3vKnnET8vizVQ1anKmCQrYStAnD51im
   19.91 +xH9bmvrJZNPY6TjmeDSvonL3aIhOtX5A/cpOztA4VWTfRRT6iJttJ89sAAk29Uhl
   19.92 +fB7tmey9XQOGhFP/Q6uWodvNvU6lro2rUEEs7rQSaGvafHQUyxdITYfSy3ESN6vr
   19.93 +DFdebnRjgnbxBiEpbVJ0d0IMFeR1umjhL27aJpjbdI0wxqzJpvj7/q3tVOf/99+M
   19.94 +Wk/TH0fsHari2VQm0LD5P1hFP6Iga1kzAzPZj4LRqZ09UvEd4X3Vyh5jUtPnaLbi
   19.95 +jlDehDEzLBgEw6qrt1ZnCZWG5IVl2C/1v4sUhIjOq8AR5W02jP9TL1+23PoP84bj
   19.96 +ZsOYuZrUnb1INPuDuqwyQqsv9sPkBoS9K1huniLvD1eQwqMc2lfTFrh3/KtMf4Yp
   19.97 +ajwT4oUyS0B3Kp8uF7jZQkcInQdAa+LzCmiHNXCgMJPA7Np0lsqdYM2FF8OE21qk
   19.98 +zoR5CGmZu6D2Qm5xVfTumdlEGpIduT5tVibsCJviJ9T3SUtR2/KthKcr6P8p4MW1
   19.99 +ARk3JpNiYBNohXKDKdQv0Ti+QYBhvStMlEXx6gn1QPdDRqX1rK2r7OSP+n5qP5WQ
  19.100 +MYePW0plYHy7Uss5bxg5QWPFV/skNGhc2I566Y7PwD/Y4Yqe9PBGH0OIBc3WmYiF
  19.101 +AQwDAAAAAAAAAAABB/9yhD9GfosVx02xhamHvZW0PQKqZIFUBPTVI/izIdX4zEDS
  19.102 +I7jr1Nqc1OIWoMaAFxSSP5zQiSaFBkqFHQ6qLqh91lNSKwTRrrg7EWrOBz6ldmb4
  19.103 +GlpN5u83w5P/tKbcGUVahsv+XKGpiJ1etntVjsu+RvwS2X0pP9poiuCy/mbKS48S
  19.104 +Rx53QHeUm3V/RgPAEfbSevJ3jnPsl6h5Cr5QffxoTTEnOXZHNsLIkM9uhxF1S1ep
  19.105 +4KX2xW9Em8wNBemI9/vT+AX2yKP+L4WxbLc+poUDHCZQDNwysju54q3z3mUuEWYZ
  19.106 +QceYMolx2tnultYGlEt6q8hPQR/Pk2C3ZDV0xckuhQEMA3ZA2ejz7ZzMAQgAkooO
  19.107 +lr62aW2X87r1dnKel2Jk8gYzMm3VLlOCS8zvb5iwpVXfFHN0AVcBTZL7mvFR1Io7
  19.108 +wSPnvRzBIAmqIHO9STwqYuiR/aXyfM6H57BhcKJVLGacJHIUR8I0Li4LTHHe63ty
  19.109 +/dD56YugmFTutwv84CTisPqXQUnOGky2CkgoymvHX/HiLzZ4PiTaSB5o2Qexm8TP
  19.110 +sWnH9V8cqFuHj2wYpfYwkfEAzxCa88rWHwUEdEJNj7Q81SSFFflYGPhXH4B3Aj7w
  19.111 +vAEyXKdd0dmHiMa27CMVZUC0JH895/Og+/0VwGxkqym90LGES/9O+8W4PlvRz6Co
  19.112 +FnFg7DmcOybCfgoH/NLrAd08SE1BHux5VS1maciW7wUVfIFrYgtU3A2MWIN8d+Dx
  19.113 +ZVe0dAPkP9zbm8MGLz5yTIemErFOOj7asodI3u8ruVQguNCX40U9zuc4Ai0+/yZp
  19.114 +TgNmVURPgzM6AMLHE01+U8d97UtpU9xN+uP4iZhctc1D/PZNnjiuOZ5nyVVM853i
  19.115 +d204UF6pcaTvweI/z7dZfa/wdYIwtxoB4cMfsnta5WNkY7JtjP2BmKtqF8sObcYb
  19.116 +OGtQCIGYN5q3yS7bubpkC69vNutYaEn+tsfC3g4u+ZXR2M8VpnDzwWBFb5p6VmDt
  19.117 +ULBW2ijQnBAfZQl8DvK5weX6AB3f/nIq9gAJp62SccNNx6V88zSrotjmzWklDtyc
  19.118 +tYEbk0Ha60nWECU9+wx9/0NpM8VJtcGg0QQlowc7QSK8C/Z3xPLyY/SfR1D/9OvF
  19.119 +mEc7OxLY+RQJfzRN9g1XjrPk0KIhzieaysbbDh+IMH/aMm9hDKn7lackZ24ighCr
  19.120 +Ou6CXOzfE2uN9KNMBCNFMwax7DVuiRrJq6nZp85GUBSfWM69DUKO7b52rXxSTXrp
  19.121 +CrV+Nxp/kyXzFZZQbZcNPZUHhHt8P/7wUuDXzhJ//xtrnd5rH80Dq/76pJ3UtyIE
  19.122 +FSisw+wg3QzqRWodbEB9MXSQQHShmOpaRtDxsWOQ3c3z/nOmlNPj082t4xa0XeuJ
  19.123 +63mopHkrfsQ1x3R3gJfN579cDOU90vvdf3+FHeUAth+Yb3hMLHYEiajM2zC7xZ5Q
  19.124 +rUsTdTIVrn8XBzu7SJ3XNBM7d9YABw6fq4y+WvxU4hq7ZKJxBJVO1lrAbR3uB1ED
  19.125 +vcNjJ7rBkRRKwmmQuxU/dmPZ3xm6i1GNZphR/HQRNXf22pUAPLBUAizyjdKs/MmV
  19.126 +7SZn3mJp7rR3oL5ao1NJRxNf8y0DvyLL2JMECU6p86RCn8zEjgo61/mUTlW/LMJU
  19.127 +6HYUwmhcH3go8UkDLVrqmPTM8kV6iiyScsT88QPONc1lcgONHv7T1CNEfGwtQuCH
  19.128 +ROaVd2qWFOxkR4Mc7V/7kyVD0/iU6nMClUbpV7s/MNNC9ckXj2Zep7ZKpzJrdBRb
  19.129 +ef7tVu9+QHF4BbB9epEFLum96Bne0Rv/d2QlPogDVh5hhqw/E+PJk8NtdY5Kt800
  19.130 +BK95716vS+Mltccm7sJV2p1Nj/87tyiEO+aV3CNr0VGn+DguGfjuC8XUctgZyBpd
  19.131 +Mthgcshgy12jtolEM07wWQEdjPrCjZlF5nM6IBdt7WQ0BRUgl1HumsKPrYn8KKfk
  19.132 +MFoaamKLSU0KHRzb0/uQNLoWh9dlmeQ5iPgD68gRBn/tnkY5Ab1Pu1uhU2KxGe7u
  19.133 +cxubv5JwzOQx1FvFSDsSMb2QiMXbQ5uqwOuG/p3VRGQ4ii3aKkIDdacL48F6KTKB
  19.134 +Eb0Kso5JNshFbuXLdJjIZ3dPzwIrya5fy2iz0cDoUUUc1hy5sO7Ztw2+LcOhkm6t
  19.135 +qxTPbxxvn7nCPUi4b7cfS5wH7zroZWU7b3cZ1OXZBuK9H86Tw6U8Wr9wC1fdecy0
  19.136 +vLpNXntZEFmEpHcCtp3Pf6o8wLwLwEJlKAkHS0z0PZNwRCqWWwmsBwewqyJpYu6V
  19.137 +shAxq8ys1uEDKpx1BPZweZPyMb0Aycu+b9czH/6Hd5kMc8sXiqpalxaKWsO5TUse
  19.138 +KbUHa+qJPim91QpJ4q7tjmZwCzfBs6E4Yoh/TvKnngYXxzQ/0ebkXsW9v46II6Yz
  19.139 +lGCEGQUOSkAq5bojH3ApKAvkSzoj5zGLopJyWS0ICGn7levYzpI67iiiBFdr4QB4
  19.140 +FZ5M7lwuk30zLFE0+1wNtDPnReSNQ0q+h9hT+heG9H/wtvaA8faXzlOYTDd3I42x
  19.141 +gnSDPU43Wqd8QKUVOwn5Ze22n7Gs3rDFTOgezcfXm29JDUhq5B9NJvcR/uMLWy31
  19.142 +jZwGxllp2XaXRCsLBvQbGJ91Eup9am2PqND1tvmdLTm3AKHwZXD0c1ith4ZkMqPZ
  19.143 +KMUthIN5/fmMgg+mlV3m2oJZuCPFbv9pHL9mo/wFhxinI9NQZoDUDth0TlQWIAdv
  19.144 +JJYZ6tYdFVuBUeT3Rcid3kpwVAmQPhcRfpCEHp5bmSc3u54lDeH3RCuCJOfNdwiS
  19.145 +INEuBuSk/1Ck/5/cljnlAOHk0hWsuPqV1auNi3bzs002BE7cuRe61GGNOUW1CZ6P
  19.146 +P8aJ6IhMuJEvp7bbllovZDbgFPzZ2UbjPpCZOgqRX5RwJV+Bhi5/LwEJBYQoaNfn
  19.147 +R+UOWX/iAHXgqfMbzfEWQU1GEKBSZJ4XSVqQh72Jv4uSIDZa7UQEoKmxmgui4dPz
  19.148 +mGxLlwS4+Pb74qdlGy5k7Al2fszvs2vt9hqr0MubiCCNtrBwfj7F2mm6RhySzl68
  19.149 +q0fjKlRk8nyhEhDy3MTNRbwuqLlB6pa2MNjmjWKv+HAYOc7Zn5aGsL3RutEETFR1
  19.150 +lpsR3+Szt5L3Aj06Syu9NGdJQUYduJifP7EF0so1xwCCP6HxcBURgMg+7a1rhxwf
  19.151 +l8nm7rZwwzEgQUUswyPYXH4gFHJD860hp7yxJyv9PZQhnJ64bAmkiE3juZpnsGho
  19.152 +qqAhr3PaIe4k0YN1Ccwa/xJqsG+zBgx5iyP+Q5SsI3O0l2bs75ub9M8nz60KsUxF
  19.153 +snnUEdgUGwCPKerjGXsE3mZfoo+jVnJ7fW5lgUUii9Mrbqp0HmOLU6jtmU4yORQZ
  19.154 +WNjGiQmY1mucsBSmamU6dZTl214QG93ed/LKEQ8tnOsgUGWwKQy/0ROgN5O4cBHp
  19.155 ++GdoKwuGqNDkec62YYET4eUhtAnq13zaFORUsH23N+fL3edHN4o+8VPi/hAQSwRC
  19.156 +0MZxH3RPVTSBzVzRIFEHEqi3pUSC4GhAAM11LVUdPMRdfuKAuaqt1b+HfCkePUyk
  19.157 +XgHPVt4TxbLyQUxmfodfUa4JN5LZRluVcRPtWGsyoVDbXnjwn1iyQ9l3ENL8Epbk
  19.158 +fySynRbjpzkawAAHgEdy3Bl7ID8XzmCsYQl1FRH+8/4SvR+gh41bdAPOWcu2jOvt
  19.159 +JApf7AGmRZpljZQkUeNU1fwFORj9K90TXv8yNXk5fSsXxaV9WnBhxk5BfZKSrpJ8
  19.160 +rxY31xe90YvLUeh9TFbfuOvNTdsP77C/kPRRfAHXYP3thfJqbipxhAjlN/8dN17w
  19.161 +8Jrb+9XnVKWSPQkVCHyk79oLr6llnvaPAEn95TeAokSGpCARdDBs+lTHti0N261d
  19.162 +lHzrAsZmijcNWc/8g8DKiXA2aWTGA3TIZMTqJXF3gvFUcB7agN2ORzpGRI7dJIe0
  19.163 +MdSf+NU0jJcBc8XD5ZfjbRUDWkKxkj+IUvEoZ+kQmlIShpMAQvqgN+6TY+EGh1pv
  19.164 +uG0aaYgnac4Gl8CXd/3Tjiz11FEGlmxHf0FHmCef+wbcVdoNchmAsKCfEjKD6tAJ
  19.165 +Ti61PF0Ggh/kFfdxFyIZBE84eWvaqxrKt8CwHfRMml0bKLOepel+Iqjt1tuYPSfT
  19.166 +HVV46N5qkSuy6EPX
  19.167 +=uH9+
  19.168 +-----END PGP MESSAGE-----
  19.169 +
  19.170 +--y7EXR2L3LEbunNG5z2iB9TLRp6qXDskjG--
    20.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    20.2 +++ b/test/test_mails/reencrypt_encrypted_through_pEp.eml	Fri Apr 20 10:58:08 2018 +0200
    20.3 @@ -0,0 +1,193 @@
    20.4 +Message-ID: <32df1e74-e7ec-be9e-d7d0-b54c42f179e8@darthmama.org>
    20.5 +Date: Thu, 19 Apr 2018 18:13:49 +0200
    20.6 +From: Reencrypt Sender <reencrypt_sender@darthmama.cool>
    20.7 +To: "reencrypt_other_recip_0@darthmama.cool"
    20.8 + <reencrypt_other_recip_0@darthmama.cool>, 
    20.9 + "reencrypt_recip@darthmama.cool" <reencrypt_recip@darthmama.cool>, 
   20.10 + "reencrypt_other_recip_1@darthmama.cool"
   20.11 + <reencrypt_other_recip_1@darthmama.cool>, 
   20.12 + "reencrypt_other_recip_2@darthmama.cool"
   20.13 + <reencrypt_other_recip_2@darthmama.cool>
   20.14 +Subject: =?utf-8?Q?p=E2=89=A1p?=
   20.15 +Cc: Reencrypt Sender <krista@darthmama.org>
   20.16 +Reply-To:  <krista@darthmama.org>
   20.17 +Return-Path: <SRS0=Iqydak=HI=darthmama.org=krista@srs.smtpin.rzone.de>
   20.18 +X-Original-To: krista@gnunet.org
   20.19 +Delivered-To: krista@gnunet.org
   20.20 +Received: from vmmailrelay1.informatik.tu-muenchen.de
   20.21 + (mailrelay1.informatik.tu-muenchen.de [131.159.254.14]) by
   20.22 + sam.net.in.tum.de (Postfix) with ESMTP id 386C01C00BE for
   20.23 + <krista@gnunet.org>; Thu, 19 Apr 2018 18:14:08 +0200 (CEST)
   20.24 +Received: by vmmailrelay1.informatik.tu-muenchen.de (Postfix, from
   20.25 + userid 109) id 14A381C038A; Thu, 19 Apr 2018 18:14:09 +0200 (CEST)
   20.26 +Received: from vmmailrelay1.informatik.tu-muenchen.de (localhost
   20.27 + [127.0.0.1]) by vmmailrelay1.informatik.tu-muenchen.de (Postfix) with
   20.28 + ESMTP id E67A61C0378 for <krista@gnunet.org>; Thu, 19 Apr 2018 18:14:08
   20.29 + +0200 (CEST)
   20.30 +Received: from vmmaildmz2.informatik.tu-muenchen.de
   20.31 + (vmmaildmz2.informatik.tu-muenchen.de [131.159.0.88]) by
   20.32 + vmmailrelay1.informatik.tu-muenchen.de (Postfix) with ESMTP id
   20.33 + DBA271C0376 for <krista@gnunet.org>; Thu, 19 Apr 2018 18:14:08 +0200
   20.34 + (CEST)
   20.35 +Received: by vmmaildmz2.informatik.tu-muenchen.de (Postfix, from userid
   20.36 + 109) id D9D791C24B8; Thu, 19 Apr 2018 18:14:08 +0200 (CEST)
   20.37 +X-Spam-Checker-Version: SpamAssassin 3.4.0-tuminfo_1 (2014-02-07) on
   20.38 + vmmaildmz2.informatik.tu-muenchen.de
   20.39 +X-Spam-Level: 
   20.40 +X-Spam-Status: No, score=-0.6 required=7.0 tests=AWL,BAYES_00,
   20.41 + DKIM_ADSP_NXDOMAIN,RCVD_IN_DNSWL_NONE,SPF_HELO_PASS,SUSPICIOUS_RECIPS,
   20.42 + TVD_RCVD_SPACE_BRACKET,UNPARSEABLE_RELAY autolearn=no
   20.43 + autolearn_force=no version=3.4.0-tuminfo_1
   20.44 +Received: from vmmaildmz2.informatik.tu-muenchen.de (localhost
   20.45 + [127.0.0.1]) by vmmaildmz2.informatik.tu-muenchen.de (Postfix) with
   20.46 + ESMTP id 3EE881C24B7 for <krista@gnunet.org>; Thu, 19 Apr 2018 18:14:07
   20.47 + +0200 (CEST)
   20.48 +Received: from mi4-p00-ob.smtp.rzone.de (mi4-p00-ob.smtp.rzone.de
   20.49 + [81.169.146.144]) (using TLSv1.2 with cipher
   20.50 + ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate
   20.51 + requested) by vmmaildmz2.informatik.tu-muenchen.de (Postfix) with
   20.52 + ESMTPS id 2F70A1C03AC for <krista@gnunet.org>; Thu, 19 Apr 2018
   20.53 + 18:14:07 +0200 (CEST)
   20.54 +X-RZG-FWD-BY: krista@darthmama.org
   20.55 +Received: from mailin.rzone.de ([unix socket]) by mailin.rzone.de (RZmta
   20.56 + 43.2) with LMTPA; Thu, 19 Apr 2018 18:13:56 +0200 (CEST)
   20.57 +Authentication-Results: strato.com; dmarc=none
   20.58 + header.from=darthmama.cool
   20.59 +Authentication-Results: strato.com; arc=none
   20.60 +Authentication-Results: strato.com; dkim=none
   20.61 +Authentication-Results: strato.com; dkim-adsp=nxdomain
   20.62 + header.from="reencrypt_sender@darthmama.cool"
   20.63 +Authentication-Results: strato.com; spf=none
   20.64 + smtp.mailfrom="krista@darthmama.org"
   20.65 +X-RZG-Expurgate: clean/normal
   20.66 +X-RZG-Expurgate-ID: 149500::1524154436-00001063-4E0F052C/0/0
   20.67 +X-Strato-MessageType: email
   20.68 +X-RZG-CLASS-ID: mi00
   20.69 +Received-SPF: none client-ip=131.159.0.36;
   20.70 + helo="mail-out2.informatik.tu-muenchen.de";
   20.71 + envelope-from="krista@darthmama.org"; receiver=smtpin.rzone.de;
   20.72 + identity=mailfrom;
   20.73 +Received: from mail-out2.informatik.tu-muenchen.de ([131.159.0.36]) by
   20.74 + smtpin.rzone.de (RZmta 43.2 OK) with ESMTPS id m0496bu3JGDuDS2 (using
   20.75 + TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (curve secp521r1 with
   20.76 + 521 ECDH bits, eq. 15360 bits RSA)) (Client did not present a
   20.77 + certificate) for <krista@darthmama.org>; Thu, 19 Apr 2018 18:13:56
   20.78 + +0200 (CEST)
   20.79 +Received: from [192.168.178.22] (ip5b439605.dynamic.kabel-deutschland.de
   20.80 + [91.67.150.5]) by services.sec.in.tum.de (Postfix) with ESMTPSA id
   20.81 + 5A2D8102926CA; Thu, 19 Apr 2018 18:13:50 +0200 (CEST)
   20.82 +Openpgp: preference=signencrypt
   20.83 +User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101
   20.84 + Thunderbird/52.7.0
   20.85 +X-pEp-Version: 2.0
   20.86 +MIME-Version: 1.0
   20.87 +Content-Type: multipart/encrypted; boundary="51be29f17cd84a367a2f9514845aabb"; 
   20.88 + protocol="application/pgp-encrypted"
   20.89 +
   20.90 +--51be29f17cd84a367a2f9514845aabb
   20.91 +Content-Type: application/pgp-encrypted
   20.92 +
   20.93 +Version: 1
   20.94 +--51be29f17cd84a367a2f9514845aabb
   20.95 +Content-Type: application/octet-stream
   20.96 +Content-Transfer-Encoding: 7bit
   20.97 +Content-Disposition: inline; filename="msg.asc"
   20.98 +
   20.99 +-----BEGIN PGP MESSAGE-----
  20.100 +
  20.101 +hQEMA3ZA2ejz7ZzMAQf8D/j/r1SYCRZ9361nsTUNs3l3Y2HBMDJnsJyTBtJIYeke
  20.102 +axNMBouW/aBRu1hhl199BpbK6cGiBwVc1YO9tNblQMbJd0RLfyM3SSxeZw6mO0rX
  20.103 +nNgMbzrKBZ3lwSEw4yUotxkCdlrak7/dt22E0cDeyFCH42KO+5hcHfNwfUXKYEyd
  20.104 +gw92mxXeH+PCLMY6td3x2vX/ger0dHeL5rz1iE83PZdnUaAbnsALOczSnnXO7Cti
  20.105 +O/1FVN2oJWwgZwUcjk3IrjMjOqNl/sr63VTmXUSbNICB6E0rvVn/DzMBXNLqIFMH
  20.106 +bVBEgN/OgQdgeJvhb2ilJHCzyNWoN6OXHkPuW8grboUBDAMOI9GgtzRIcgEH/i/T
  20.107 +Wzzv/CP9qlW6Ku8JJEChI64rinIbjmgBsY243DjkY5N+BQpJkL2rn4oXiqmoADlz
  20.108 +B6nu3AdQMn30o253YiZBo/0CToPlWxtw9nDVDvzk06AeqEEgqnghDEIGbCvu2l24
  20.109 +QXOFWQ9SwxHIQjB7ozZXy7ZpW7uoMQYdN+Bgq7SsuwyGg+eAznAXTbFFQV6zsOE0
  20.110 ++qugsiyIXHajxWTK4lJj7PCWI8adxADlWAmTvRfSGZPLNN3tc6YlWbW9Ka9jaG+G
  20.111 +wq7N9fP66KFVtFCQ2HgmxQWQsz0QuunGVLwOckKFbOGemsjHljVzTmvi+KhBW5PE
  20.112 +N0TZEvr1NfxAIpDpcduFAQwDjtrLkId8o4wBCACcJ5h/mIQBLlk1gp7Vpj2B+Vsk
  20.113 +QXpxcqYbANM7bksNlx35jb56D4abWCJM84472L68aJmYcy0TE3smKmPU/XBl6/qG
  20.114 +Wrlv/kFYFCLlVczhXybM6ivQI84vl9V62L80Fz5scEvZgYKL4eqagqaWcEIgCwbu
  20.115 +ikaZTDlHjcv4/EQjGUbRmIxu2I5hHbw+icFi+RbFSi9qbL7uMje04JD1VjWEAOOg
  20.116 +laT5zzUpQUB5opbG/xb2rk0RKgWl1ciF8kJgTkoB1Q9JX+rGJQ8jCEz7vssc8r3B
  20.117 +fQYtuhHUmAcbZzMVMYmtRNzGzmxfw/TJ3j6hbPBC59QyRxBizwMMFbqpTycvhQEM
  20.118 +Az45CZNVTVeAAQgAnwEueZqXqUCnQ+hlJqvD30e5/2bcw+5rCmtoUwOK9OUDUaui
  20.119 +z3y0Y5PCl6FBD5px1tQKPSfcipp90RlPMQlDLCIbu1lIWpTkZ0ZUhNfhr8ebwDid
  20.120 +rm12K1928yO/gCg0w+eyGbdD+cviPjyBtbhyRl2/aKTJm8rvZTYaMN1pjip+FXPv
  20.121 +Vd7Rw9Mud/s0ZgJ9P3hLJQf1MBeWGSVlPsV4gjU3JBCU1U1pn3AqM9f4hbYtaE8+
  20.122 +B666GfflhKNjv2/ErLiTKZaIl0c2oM0GW43OifKDujh17kcfapTlwUlhchuR6IUT
  20.123 +pOHCyYkNprBgdShpDulg5bhtrV7Lg3kALR+K2IUBDAOACteSLFIcyAEIAJiz9uh2
  20.124 +c+8Fo4IZyQMF8DXehfcbdkDPQtwo+OBgPh8riY4PgujGV7wVXKdN4X2dMX2xOQkO
  20.125 +xraIdMfo1F4K6/Q/mFAyb/taHsCC9lOG9r0C07WYzYxBKQ/rKJLtgieOADyuulLV
  20.126 +GRXjUUqhbRdA2WebLOpe6J87TaQW8LEP6g5Jms1qURx6APeBuRNRgb7bZHNiWeSE
  20.127 +5t1uERxLn9wmLkUDotYq3WQYgPw3udlpiSo1HmKLNTkhPr/CMmcqC3HzTvZ8BDMx
  20.128 +FeaLsnCBsyO3nTEAgWJQp2Vtq0HPrZic19+E65uEkCK6TZNQwLxuSlgEGFFMQGLo
  20.129 +ou4eSLJANolIKKaFAgwD5Y2zzgc8DVMBEACha1SY20QXxnNcguxfQI7fYPl2Czky
  20.130 +6Xjea22ULy1Cyoqmf0Ir6QDh1HbJ2Vn+odbzH3iRjJq7x+/1kL0+1RaSABgIt0K5
  20.131 +ARU7HgUKwABZ/K1zldq8vz4CQTnCx8o/C4kAOl7G1g+tcCST91h3Uikd8prl9/lU
  20.132 +BtrytpWsVwwneIxKr1RXkDpm3ySQVbfHhH8B/sshYTJkN0iPykrXdwRiHThCUlr4
  20.133 +6Tce8E3PSH2zY3kOrX1EBA98hsUfn5xVpGEgU21ltt9p/1EFWWNHpDQKLQNNk9ea
  20.134 +c5Hx0GNkupt58XS+pjE94PUlDrM4ObKcUuQmL0qdr1FgyeVZZ0Vr54c9GKflISqO
  20.135 +ki5rTvUa07GlBtpKUYB1M0wJX576WMhcFRs547SMcGpJp56zptGXcKiH8NALfcz1
  20.136 +So72Ln/X0JRd6AAslN+jnwEITSjFJFglIGxO5+DILcjV/HHOxSsNomuFOYkSR5vS
  20.137 +1FLkS0Gn2NLB0OEGoIXLJEY5/KioGgJzO00kKD2B0N4DaXw/ON2ieie82h94cIPw
  20.138 +Y1BZToMO7UFTGi+UBjEbJ2zoK0W2QjxthwIiYtzxi+wQtu1OU4PeZIKxpvmUT7qV
  20.139 +ek2LoN2M7TEDtqcVCvACNWynJJ2z7JtFwJoISa2VwVJtzXzE+vc6RGZ8LDHQfP7n
  20.140 ++BT71aKUvjKbydLrATIyFGljZ6K53Ccp/yAo0NGv9FUeKl5cFHmf/gPEN/wzaI5Q
  20.141 +D3CCyopZmTCqr/jBZlIezD751tFBxv7ExO26oGecmkFJFmRi7+x81fj5xa7rp3QB
  20.142 +HzdZGFkzSCqizH0U1978k6MvRV72+pD9jSkiJk+k9l5gVJbCWE1NRo8IQ6fUe4HG
  20.143 +2KhescXeqzFPeZ0P1Dgf+pdXvXg/SORYmBkCdm6DjQsgimaqgvEVl+1WPhRjxKgY
  20.144 +J6wAULOHJJxpLn70GDlSj5EBBy8505aKLYONjrS4QbqU2Y/7xCLlsf8kq8rTv7Js
  20.145 +c4k7kWEEp5bYxd2ct7i+LWe579I3hSZTtGt1opiJC2dD9S5XGg5VNhpdZsvrPXEX
  20.146 +ZQNeNTwG7/UGcHNM2H/VlBLXTxm9ZPQFDiUaGCUQb77HE2C9CnOCJ5ieYF/llIQ5
  20.147 +JgayUUuClgFs3JiBdD9orGADLhX9EkkM+R3ciMUjGSm91oBl5B5wQzSQRsypKk+1
  20.148 +vy8QCZId9dZJ2ldK62N12J8kHhYVnmn0X3h8Q0YOHCb0osj14Jj85a8zI8pA8zy0
  20.149 +vIump6Q+4L3UlbY3kbhqOOI9Yw9WR48Pb0R2YXULygbs+B87mamGPNvtwYI5cbo5
  20.150 +CLnWpg2hPL7tQeDC/YZl8uDVsUP5tkgxcBdJAwHp4EH8JRDyXPRlawysX9QJsCJ9
  20.151 +7We9ie/KfEFhKBtnsTmw+Xw+TjRkuqWnsTFxZh5fKkNDh29QyJbZJJHK96jFgwKi
  20.152 +UpacI9fAPVDQI5OO4U3LqLnuhkI3OTeE1FaFdxYX3hTqYr+yCFzz0CogiER1ARIz
  20.153 +/yOfdcxHAKOz57V0imHyKXx+SFGAsUo4Db0ruF/RW/7n3rXyzkvVDF8La10v+kxu
  20.154 +wo4GA90xMiHDkLRwcEc9jYfMpbE42p+1UPZEfiTUNbCyK7lHDFgGyuTTCEPw6ajA
  20.155 +eBP1Z1IHaPgmEBMfiAeYLgrrM86PTKrh+tE4s6B3vjVIqqJNG9lGyXuLm7VhKitF
  20.156 +GEWPMfy4kJpKWViRW26bXyp3VH2aG5c4UZYPC3JAiZXYod5FKOQWSWRBo812cx2t
  20.157 +NP7vW6RBqEm7mYaXPzaHIkGKks4bsIs1X5mowiSp6wX38zJUHpTRBlOwxo4cXVHT
  20.158 +6WiI1DuamBWfRcW3+rmjbS1o0k2FjpB1RCqVO3+mnI5N4M+SGanvVSLtnxIl8ZhW
  20.159 +rGDcig2hyC19FrIzDFah0fRH7GTVnXxeaBiX1Qc03sC/LVmnNFr12dzbwY8eAyK3
  20.160 +1s/0RErZtoEXA1ly9y9JTvzWVEKWn0CUPZ+wRk6jKuAYt2OoVxPI8osY37wCIt7f
  20.161 +ylgB04xU72mNM3MoSu25sfwzVc0dEFIPKBAE4hCnLdtUJSNO9mOusfwFUOiazAEN
  20.162 +rNFxqd5xnDcG9ntIKCcFDLLDwMCDJeW/m1aWe9Edvk3gMXudwbW7SINErHkaQLib
  20.163 +rICnvMmt6pzPfbIMSajJNFAE/PR+VPtTBIJaZDb1xMXWk3aQXbMzInet88rgPELT
  20.164 +LDOaE3OJzoZ6r6k5ysvTzfArSW1uCH6hS59Z9Ltu2eQu0Qz94j1RR6TrK0wsFtEi
  20.165 +zMlPMlvZUzukYdxoq68AlV4CqjNbQsZ/xlFfEjAxu9lYPRZHv00nG1HJ50N6/JIZ
  20.166 +lpsO8IhDSmT1jek5b8dsV8RQ4Nhnx18CiCWiQI+KNDbl29nv0zAGTS3458P3J7Hw
  20.167 +QClS4jwS/OG/KG7pW5JrOjcabx2xAmHOz9OxBYTrHag4jDFZiBHsQ6C4LCivVUFO
  20.168 +qqQY1nsoaD8sK9qSew3CqUBB+xX5MV7+jMwoeg1B/nWtkt4sYk+WnglIIKCkoKLL
  20.169 +5I/pjSDSbVPvgV1QYXUdesctLjYu9lliXj46G52tof0fyScqNxf9wKoHEgSFr3LG
  20.170 +G4FSGdMqY/XzlPKGYQ1jkTcw+nYKoX9lPYke0tVPqInrR5+5SBGytaKrcrYVJfaz
  20.171 +hF5C04MVQa8WI2B7rMIHYRGhrQDk/yzfIDK8dSXfokwlKp+s7Rb23x3jMHuRLfPO
  20.172 +nNTcfu7KS6NxZsCFwI3LHdXXTRB0+ZIhksfWbH1/nGBBrZgO9A1x/TtFL9O+Rbqw
  20.173 +OlFNoG99cSTNCWVptHcOpuhs3z3MvG729pyZYa69gnE/ZKZML3/Bjfi6Ri9dmOrG
  20.174 +cblvM77N7+ohOtrZerzZwQBNgbSfUhDX0ha7I77whOAlDLYe/rSFcfwEhXyGfZhB
  20.175 +rkxaNdzFNS7JiNG80Con4PP71Q+28h6AZAjpytRsmC3/1HVjfNd8p+9WuLC+OAQD
  20.176 +QL9SazRflAg61szoeTjP4YiaPkM590JjABO3BncYLLCko04NTL2/6UnKmJmMa7Bd
  20.177 +ozB7gTKlXin/uX2KWjvRLmcTZzcdATpkWYBkdWHrL4k9kfaWiDF9RwRmpgJWzcQr
  20.178 +oOCHnbW77md4JQfVGasOD1z5HtEB9VLXqj+p3txF09u8MW/AVqQrquZaxwFYHFnI
  20.179 +wrEtRJhc5O9N/L/chbLwD7Qi6sR1P0aVJpGBCU37OrkBn3MAULsLPGx9kgUhA39N
  20.180 +36d/yWeDECuL0h6aJatAykZubjnKIV4tqKFikC5PoxFIHDcjr6EdKxAVJu4ZegAz
  20.181 +HSQboUk0YB7EcQ7tNsxVlYCYQeoQjkENL43WCr6Px8HSMMB0IDbjgaKqlYdX+QPi
  20.182 +jJUDx7qhF2lsV+C/ipwg4GeYMfE2t6iqau3ykYvI98975USHwEC6n553J27Au/yi
  20.183 +HvC4wP9yHrE0WjP+ISniUxA6YOPyV/PCvfxKPFpLfyXjpwji2nu+TERRvfy+0GRv
  20.184 +vSqOADYYE8Ct78PWOIRLdRl8LDKMlT3I8hmYWNjl704ndh0Aah5gHYbnYWDm3YHa
  20.185 +R2wy0mmli0GOD29GZkASFDbXo2EwCerUgGSuBDadZQ8nOit3UhgrpsJlL9KH2abB
  20.186 +BPf9AoWb8QZ4TQxHspQDUESBdIwUd1fvhATfO1Iv/l43Da2ThMMJR1JPcFr28AO0
  20.187 +9cH0+Tpqgp5Rm2Q3ZInD2BBD78bER0/JHjhwR6C1rzwSKmX8wL1sLaSCN82zHPOt
  20.188 +BSKiJY3Njb4aMnLszELOw8OOa9AY7KTjXHhpwkczekaHJcxGXUwz4fCdG/qyTxX1
  20.189 +qwZ8Yu3TaM0cMtmJSM0omrTSrHAhow1E0yhBoQCjDU4oC4jehk9kLT5FLMYFIHqz
  20.190 +yPZ32QlIisnAbOVuVb6ASwtcGXbHEv8GbkMq3wCvlVI5dPQtvETm0T0=
  20.191 +=LsrV
  20.192 +-----END PGP MESSAGE-----
  20.193 +
  20.194 +--51be29f17cd84a367a2f9514845aabb--
  20.195 +
  20.196 +
    21.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    21.2 +++ b/test/test_mails/reencrypt_sent_by_enigmail.eml	Fri Apr 20 10:58:08 2018 +0200
    21.3 @@ -0,0 +1,120 @@
    21.4 +Return-Path: <SRS0=Iqydak=HI=darthmama.org=krista@srs.smtpin.rzone.de>
    21.5 +X-Original-To: krista@gnunet.org
    21.6 +Delivered-To: krista@gnunet.org
    21.7 +Received: from vmmailrelay1.informatik.tu-muenchen.de (mailrelay1.informatik.tu-muenchen.de [131.159.254.14])
    21.8 +	by sam.net.in.tum.de (Postfix) with ESMTP id ABEF31C00BE
    21.9 +	for <krista@gnunet.org>; Thu, 19 Apr 2018 17:21:36 +0200 (CEST)
   21.10 +Received: by vmmailrelay1.informatik.tu-muenchen.de (Postfix, from userid 109)
   21.11 +	id E282F1C0393; Thu, 19 Apr 2018 17:21:36 +0200 (CEST)
   21.12 +Received: from vmmailrelay1.informatik.tu-muenchen.de (localhost [127.0.0.1])
   21.13 +	by vmmailrelay1.informatik.tu-muenchen.de (Postfix) with ESMTP id C06001C038F
   21.14 +	for <krista@gnunet.org>; Thu, 19 Apr 2018 17:21:36 +0200 (CEST)
   21.15 +Received: from vmmaildmz2.informatik.tu-muenchen.de (vmmaildmz2.informatik.tu-muenchen.de [131.159.0.88])
   21.16 +	by vmmailrelay1.informatik.tu-muenchen.de (Postfix) with ESMTP id ACF7C1C0378
   21.17 +	for <krista@gnunet.org>; Thu, 19 Apr 2018 17:21:36 +0200 (CEST)
   21.18 +Received: by vmmaildmz2.informatik.tu-muenchen.de (Postfix, from userid 109)
   21.19 +	id AB7F51C24CA; Thu, 19 Apr 2018 17:21:36 +0200 (CEST)
   21.20 +X-Spam-Checker-Version: SpamAssassin 3.4.0-tuminfo_1 (2014-02-07) on
   21.21 +	vmmaildmz2.informatik.tu-muenchen.de
   21.22 +X-Spam-Level: 
   21.23 +X-Spam-Status: No, score=-2.7 required=7.0 tests=BAYES_00,DKIM_ADSP_NXDOMAIN,
   21.24 +	ENCRYPTED_MESSAGE,RCVD_IN_DNSWL_LOW,SPF_HELO_PASS,TVD_RCVD_SPACE_BRACKET,
   21.25 +	UNPARSEABLE_RELAY autolearn=no autolearn_force=no version=3.4.0-tuminfo_1
   21.26 +Received: from vmmaildmz2.informatik.tu-muenchen.de (localhost [127.0.0.1])
   21.27 +	by vmmaildmz2.informatik.tu-muenchen.de (Postfix) with ESMTP id 93EC51C24C7
   21.28 +	for <krista@gnunet.org>; Thu, 19 Apr 2018 17:21:29 +0200 (CEST)
   21.29 +Received: from mi4-p00-ob.smtp.rzone.de (mi4-p00-ob.smtp.rzone.de [81.169.146.145])
   21.30 +	(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
   21.31 +	(No client certificate requested)
   21.32 +	by vmmaildmz2.informatik.tu-muenchen.de (Postfix) with ESMTPS id 82FA91C24B4
   21.33 +	for <krista@gnunet.org>; Thu, 19 Apr 2018 17:21:29 +0200 (CEST)
   21.34 +X-RZG-FWD-BY: reencrypt_recip_numero_deux_test@darthmama.org
   21.35 +Received: from mailin.rzone.de ([unix socket])
   21.36 +	by mailin.rzone.de (RZmta 43.2) with LMTPA;
   21.37 +	Thu, 19 Apr 2018 17:21:25 +0200 (CEST)
   21.38 +Authentication-Results: strato.com; dmarc=none header.from=darthmama.cool
   21.39 +Authentication-Results: strato.com; arc=none
   21.40 +Authentication-Results: strato.com; dkim=none
   21.41 +Authentication-Results: strato.com; dkim-adsp=nxdomain header.from="reencrypt_sender@darthmama.cool"
   21.42 +Authentication-Results: strato.com; spf=none smtp.mailfrom="krista@darthmama.org"
   21.43 +X-RZG-Expurgate: clean/normal
   21.44 +X-RZG-Expurgate-ID: 149500::1524151285-00005A0E-E5D41550/0/0
   21.45 +X-Strato-MessageType: email
   21.46 +X-RZG-CLASS-ID: mi00
   21.47 +Received-SPF: none
   21.48 +	client-ip=131.159.0.8;
   21.49 +	helo="mail-out1.informatik.tu-muenchen.de";
   21.50 +	envelope-from="krista@darthmama.org";
   21.51 +	receiver=smtpin.rzone.de;
   21.52 +	identity=mailfrom;
   21.53 +Received: from mail-out1.informatik.tu-muenchen.de ([131.159.0.8])
   21.54 +	by smtpin.rzone.de (RZmta 43.2 OK)
   21.55 +	with ESMTPS id w0601au3JFLPyRp
   21.56 +	(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (curve secp521r1 with 521 ECDH bits, eq. 15360 bits RSA))
   21.57 +	(Client did not present a certificate)
   21.58 +	for <reencrypt_recip_numero_deux_test@darthmama.org>;
   21.59 +	Thu, 19 Apr 2018 17:21:25 +0200 (CEST)
   21.60 +Received: from [192.168.178.22] (ip5b439605.dynamic.kabel-deutschland.de [91.67.150.5])
   21.61 +	by services.sec.in.tum.de (Postfix) with ESMTPSA id 31683102926CA
   21.62 +	for <reencrypt_recip_numero_deux_test@darthmama.org>; Thu, 19 Apr 2018 17:21:20 +0200 (CEST)
   21.63 +Reply-To: krista@darthmama.org
   21.64 +To: reencrypt_recip_numero_deux_test@darthmama.org
   21.65 +From: reencrypt_sender@darthmama.cool
   21.66 +Subject: Test me for reencryption fun!
   21.67 +Openpgp: preference=signencrypt
   21.68 +Message-ID: <19af501a-bfe4-8829-7568-062cf024a8f1@darthmama.org>
   21.69 +Date: Thu, 19 Apr 2018 17:21:18 +0200
   21.70 +User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101
   21.71 + Thunderbird/52.7.0
   21.72 +MIME-Version: 1.0
   21.73 +Content-Type: multipart/encrypted;
   21.74 + protocol="application/pgp-encrypted";
   21.75 + boundary="yaW4Ba2lMLWrvwkcowgvEpHqycafgqh8m"
   21.76 +
   21.77 +This is an OpenPGP/MIME encrypted message (RFC 4880 and 3156)
   21.78 +--yaW4Ba2lMLWrvwkcowgvEpHqycafgqh8m
   21.79 +Content-Type: application/pgp-encrypted
   21.80 +Content-Description: PGP/MIME version identification
   21.81 +
   21.82 +Version: 1
   21.83 +
   21.84 +--yaW4Ba2lMLWrvwkcowgvEpHqycafgqh8m
   21.85 +Content-Type: application/octet-stream; name="encrypted.asc"
   21.86 +Content-Description: OpenPGP encrypted message
   21.87 +Content-Disposition: inline; filename="encrypted.asc"
   21.88 +
   21.89 +-----BEGIN PGP MESSAGE-----
   21.90 +
   21.91 +hQEMA1nVtA6XccMHAQgAqxYN3IDz09VCXKG1KFZMYmxGGB/4M5S/+nZt0FIIKt+L
   21.92 +arPr7Y/QBkNGxPsvik36W3nap/9eWbzDdvEuocosLEZJBPJu87zyEZ1G4+ayIB+1
   21.93 +5pEGulPXZqO03QjFh9voIqmnoIOW+/GRAZahXj5aCoC8LCk8o0c+0iCRr9KBcK3g
   21.94 +hr5zP5f8KBv2RXdJZm7DpepjXCeHj/XqoGr8LFGQAwqfYLa0P+vkns4H6eTJl9TQ
   21.95 +5jm4nIFoHDAN5w+rMF4/s27gwwtP+IOGcQWAeMXfp8rLJNE4vMjOCQUWldHJdE8j
   21.96 +zm8snoVXoeNZujneAaQrabiSMaWAzAcP6ihOHFVf9IUBDAN2QNno8+2czAEH/2Xs
   21.97 +T41nPPhz5f1awLVuDaPpEmoOBJMLmgYpj3dXNl8KwjhtroyJ6Fxnh/M84FtV5KUF
   21.98 +74c0+wRZfLJfZzRLw6RdBwtWLOiEVDc1L6Tkfi7v7Ta5/nDahFTMTagGIhYdbfkY
   21.99 +IGaXjXOJ07nFlQBDAlZPyhu0dPNQ1vhbr9XM74eCi3PhayO9PGJLX93lJtezrwTG
  21.100 +qampGqsfU3iT1wxOYTm7mM4RDvkC39rNuxHXI1wbjbDpRcQXucyHoGYU9CTlOxYr
  21.101 +zqq2W7zrwQftbhbFLxVP2ulF/qBTsTqaWNgHG5LPzNyrarv6HqP5caUusb9hSGZ+
  21.102 +tiViIKaes/xGMehpVgbS6QFTGOpnBzTgM7B+0J7TDATJXtBpTDuTfHjoNsfvie7K
  21.103 +NoBfq9zly1T1vT1XDVpqa29/v5zzj5jYSlXp90fFbh467E4RVr3V7X7KA36kjY1C
  21.104 +bpyizuwfIXnwJ5caPhUJaKzLP2BFwjE4aAybcve2LDBv5Y6GYk5Bvfids/3FCXqx
  21.105 +vmSbe2BLtkWhM6S8GVWKEc+Pts10JSl7ql8cLRqlRAR7Oyexf+rNpL7YMAzsnnod
  21.106 +IlSk2twjkV5dhMXmqDkZrVy5xwrE15HCWk6uIOyC6f22kbYHcaILT3iIjVh8rTdp
  21.107 +HUt7pocpXfq8YvApkJIAcjxaHe1/R1Z4aiXaxCEdzMbt+Sk73pIjg/rZ6AZ8qk5m
  21.108 +M5L+QGYNP0XNm9akkC0XO6Yq+QoWoCpB4xOozTLEGNY7KpaiMLoznjjIAZdWh91m
  21.109 +gohavIrFT1dsAQ854hnTpkbn9RzMdJ4k2KOs1sVmL5kBnofPZOZG+G/Q5z7yxz0x
  21.110 +9sI/CiC0hPHkKntcFfePnVhv1g26Qh5Se0efwjlcENHqG+IEr5EGtBOnHhgMOoWL
  21.111 +VgiNKHbpv+GZBm+H5pd2/gPn3YHyl2SwI9nSp6tmSvHtRt+sl/ZBP8TQoVZ9/YlG
  21.112 +EENtMBnYMVzu/2SD6rz80apm4Cr5a8buTSQBN7oGTagWnzQtzsYpVBrc1uqMIcCh
  21.113 +wGvBcObrxcrhwOMW/NiZQbxi2xYgTRJBd6LY4hysbwLEk2UA0ap8z8ttAKaBe8fR
  21.114 +/38vRWt2/YzNwCMjFPXU1H10MijAc+ntcvpHDzl8fnUghgDkezVlGB12RG6Gr/8Z
  21.115 +d5HF9xmn2Lq46eEYS0i5adaN9rpU4Adgaz20Z92SkWdinFlPAr98OIJo1sELRdAL
  21.116 +0kN6L0hUciXSJKkmMQYukkjxxFA5PwPfe1PpsWKVGCYE+obgOxHrucUXpQrslWkY
  21.117 +YXK+T3bGKOLGmUYtli5xxXDz55fcTn6hdvWcjstBgZuTY3qxKLE5a/AI6yAu4kJ4
  21.118 +ERiy4F9slqlu/l6hhWBkmj25iATcbXpIeiwrh3oodaTTz1sXdZIV0fdxSdtIxri9
  21.119 +kKVREFQ6RYYvc9eW2Q==
  21.120 +=/kiU
  21.121 +-----END PGP MESSAGE-----
  21.122 +
  21.123 +--yaW4Ba2lMLWrvwkcowgvEpHqycafgqh8m--